Skip to main content

websocket

websocket

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次 HTTP 握手,两者之间就直接可以创建持久性的连接(长连接),并进行双向数据传输

  • 升级协议。建立连接的时候,客户端会在 HTTP 请求头中带上 Upgrade: websocket 来和服务端协商,服务端同意后,返回 101 状态码,响应头中也带有 Upgrade: websocket,表明后续通信切换到 websocket 协议
  • 心跳检测
  • 断线重连

安全问题

[待补充]

和 http 的区别

参考 https://www.cnblogs.com/FengZeng666/p/16174180.html

  • 复用 Http 握手通道,完成 Http 协议的切换升级
  • 通过第一个 request 建立了 TCP 连接之后,之后交换的数据都不需要发送 HTTP header 就能交换数据

参考