最后更新:2022-07-04 21:47:04 手机定位技术交流文章
什么是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模式的通信。
本文由 在线网速测试 整理编辑,转载请注明出处。