websocket和http的区别

      最后更新:2022-07-04 21:47:04 手机定位技术交流文章

      WebSocket和http之间的区别:1.WebSocket是一个双向通信协议,仿真接口协议,可以向两个方向发送或接收信息,HTTP是单向的;2.WebSocket要求浏览器和服务器握手建立连接,http是启动连接到服务器的浏览器。

      什么是WebSocket?

      WebSocket是HTML5规范所提议的协议,目前除了完全的 calf IE浏览器之外,还支持其他浏览器。 它是与其前身不偏离的协议,并基于TCP协议;HTTP协议是共存的两个协议。

      WebSocket是HTML5中的协议。HTML5 Web Sockets规范定义了Web Sockets API,支持使用Web Socket协议和远程主机之间的完全双重通信。它引入了WebSocket接口,并定义了一个完全双重通信通道,通过单个插座在网络上操作。

      HTML5 Web Sockets提供了最低成本的有效网络连接。与通常在保持两个HTTP连接的情况下向客户端发送实时数据来模拟一个老查询或长查询(Comet)的完全双重连接相比,这大大减少了不必要的网络流量和延误.

      要使用HTML5 Web Sockets连接从Web客户端到远程端点,您需要创建一个新的WebSocket实例,并提供URL以指示您想要连接的远程端点。

      该规范定义了ws://和ws://模式来分别表示WebSocket和安全的WebSocket连接,类似于http://和 https://。

      在客户端与服务器之间的HTTP协议的初始操作阶段,将WebSocket连接升级为WebSocket协议,其下层仍然是TCP/IP连接。

      WebSocket与Socket之间的关系

      索克不是协议,而是抽象化为方便使用TCP或UDP的层,即应用程序层和传输控制层之间的接口。

      索克是应用程序层与TCP/IP协议家族之间的通信的中间软件抽象层。它是一个提供API调用TCP/IP协议的接口集。

      在设计模式中,索克实际上是一个隐藏索克接口背后复杂的TCP/IP协议家族的门户模式。对于用户来说,一个简单的接口是整体,允许索克按照指定的协议组织数据。

      当两个主机通信时,连接必须通过一个插座,插座必须通过TCP/IP协议建立一个TCP连接。 TCP连接更多地依赖于下层IP协议,而IP协议连接则依赖于下层,如链层。

      像HTTP一样,WebSocket是一个典型的应用程序层协议。

      在这里插入图片描述
      相同点

      两者都基于TCP和可靠性传输协议。

      都是应用层协议。

      区别

      WebSocket是双向通信协议,仿真接口协议,可以双向发送或接受信息。HTTP是单向的。

      WebSocket要求浏览器和服务器握手建立连接。 http是启动连接到服务器的浏览器,服务器不事先知道这个连接。

      联系

      当WebSocket建立一个握手时,数据通过HTTP传输。

      总结:

      在WebSocket中,仅需要服务器和浏览器通过HTTP协议做手势,然后创建单独的TCP通信通道来传输数据。

      WebSocket连接的过程是:

      首先,客户端在三个握手之后启动 http 请求,建立 TCP 连接; http 请求存储 WebSocket 支持的版本号码,例如: Upgrade 、 Connection 、 WebSocket-Version 等等;

      然后,接收客户端握手请求后,服务器也使用HTTP协议反馈数据;

      最后,客户端接收了一个成功的连接消息,并开始与TCP传输通道进行全双plex模式的通信。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/29225.html

          热门文章

          文章分类