跳转至

引言

WebSocket 是伴随 HTML5 产生的一种新协议,通过一次简单的握手就可以建立用户端和服务器持久连接,服务器根据业务规则可以主动推送信息给用户端,实现了客户端与服务器全双工通信。

20240410115302

可看作是对 HTTP 协议的改进,因为 HTTP 是无状态无连接的单向请求协议,如果想获取服务器状态的更新,需要轮询,效率低且消耗资源。

通常用于网页游戏、聊天、证券交易等场景,其优点如下:

  • 不需要多次创建 TCP 请求和销毁,节约宽带和服务器的资源
  • 数据格式比较轻量,性能开销小,通信高效
  • 可以发送文本,也可以发送二进制数据
  • 没有同源限制,客户端可以与任意服务器通信

WebSocket 与 HTTP 协议有着良好的兼容性,使用相同的TCP端口,即 80443

WebSocket 在建立握手时,数据是通过 HTTP 传输的。但是建立之后,在真正传输时候是不需要 HTTP 协议的。

WSS(Web Socket Secure)是 WebSocket 的加密版本,WSS 下不支持 ip 地址的写法,需要写成域名形式

  • 请求

20240410233609

  • 返回

20240410233621