WebSocket ——应用层网络协议

WebSocket 是一种应用层网络协议,基于 TCP 协议实现,主要用于解决客户端与服务器之间的实时双向通信问题,尤其适用于网页环境。

核心特点

  • **全双工通信:**建立连接后,客户端和服务器可同时双向发送数据,打破 HTTP 协议"请求-响应"的单向限制。
  • **持久连接:**连接一旦建立(通过一次 HTTP 握手升级),会一直保持,避免 HTTP 频繁建立连接的开销。
  • **低延迟:**无需重复发送请求头,数据传输效率高,适合实时场景(如在线聊天、实时游戏、股票行情推送等)。

与 HTTP 的关系

  • WebSocket 握手阶段依赖 HTTP 协议:客户端通过发送 HTTP 请求(含 Upgrade: websocket 头部)发起协议升级,服务器同意后切换至 WebSocket 连接。
  • 连接建立后,不再使用 HTTP 协议,直接基于 TCP 传输数据。

典型应用场景

  • 即时通讯(如网页聊天工具)

  • 实时数据展示(如监控仪表盘、直播弹幕)

  • 协作工具(如多人在线文档编辑)

简单说,WebSocket 让服务器能主动"推送"数据给客户端,而不用等待客户端一次次请求,是实时Web应用的核心技术之一。