加载中...
WebSocket 是一种在单个 TCP 连接上进行全双工通信的网络协议,由 IETF 标准化为 RFC 6455。它通过一次 HTTP 握手升级为持久连接,允许服务器主动向客户端推送数据,广泛用于即时聊天、在线协作和实时行情等场景。

| 类型 | 应用层通信协议 |
| 标准 | RFC 6455 |
| 发布时间 | 2011 年 |
| 通信方式 | 全双工 |
| 默认端口 | 80 / 443 |
WebSocket 是一种在单个 TCP 连接上实现全双工通信的网络协议,由 IETF 在 2011 年发布为 RFC 6455 标准。它使浏览器与服务器之间可以建立持久连接,双方随时互相发送数据,克服了传统 HTTP 请求-响应模式无法由服务器主动推送的局限。
在 WebSocket 出现之前,网页要实现实时更新通常依赖轮询或长轮询,反复建立 HTTP 连接,既浪费带宽又存在延迟。WebSocket 复用现有的 HTTP 端口(80 和 443),先通过一次带有 Upgrade 头的 HTTP 握手,把连接升级为 WebSocket 连接,此后双方在同一条 TCP 通道上以帧的形式交换数据。
WebSocket 常用于在线聊天与客服系统、多人协同编辑文档、股票与加密货币实时行情、网页游戏、直播弹幕以及物联网设备状态推送等需要低延迟双向通信的场合。加密版本称为 WSS,运行在 TLS 之上。
问:WebSocket 和 HTTP 是什么关系?答:WebSocket 借用 HTTP 完成初始握手并复用其端口,但握手之后就切换为独立的 WebSocket 协议,不再遵循 HTTP 的请求-响应模型。
问:WebSocket 连接断了怎么办?答:协议本身不自动重连,通常由应用层实现心跳检测和断线重连逻辑,并借助 Ping/Pong 帧判断连接是否存活。

| 类型 | 应用层通信协议 |
| 标准 | RFC 6455 |
| 发布时间 | 2011 年 |
| 通信方式 | 全双工 |
| 默认端口 | 80 / 443 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧