核心概念

网络通信协议

它在单个 TCP 连接上提供 双向通信通道

简单理解:浏览器和服务器之间保持一个长期连接,双方可以随时互相发送消息,无需反复建立新连接。

与 HTTP 的区别

特性 HTTP WebSocket
通信方式 单向请求-响应 双向实时通信
连接状态 无状态,短连接 有状态,长连接
服务器推送 不支持 主动推送
实时性 需要轮询 低延迟
开销 每次请求都有头部开销 连接建立后开销小

工作原理

连接建立流程

  1. 握手阶段:客户端发送 HTTP 请求,包含 Upgrade: websocket
  2. 协议升级:服务器返回 101 Switching Protocols 状态码
  3. 连接建立:HTTP 升级为 WebSocket,开始双向通信
  4. 数据传输:双方随时发送消息
  5. 关闭连接:任一方主动关闭

URI 方案

典型应用场景