标准关闭码(RFC 6455)
| 码值 | 名称 | 含义 | 典型场景 |
|---|---|---|---|
1000 | Normal Closure | 正常关闭 | 业务结束、客户端主动断开 |
1001 | Going Away | 端点离开 | 页面关闭、服务重启 |
1002 | Protocol Error | 协议错误 | 帧格式不符合协议 |
1003 | Unsupported Data | 不支持的数据 | 收到无法处理的类型 |
1005 | No Status Received | 无状态码 | 保留,不应在 Close 帧中发送 |
1006 | Abnormal Closure | 异常关闭 | 连接意外断开(未收到 Close 帧) |
1007 | Invalid Payload | 无效载荷 | 非 UTF-8 文本等 |
1008 | Policy Violation | 策略违规 | 违反服务端策略 |
1009 | Message Too Big | 消息过大 | 超过允许大小 |
1010 | Mandatory Extension | 需要扩展 | 客户端期望的扩展未协商 |
1011 | Internal Error | 内部错误 | 服务端处理异常 |
1012 | Service Restart | 服务重启 | 服务端重启 |
1013 | Try Again Later | 稍后再试 | 临时过载 |
1015 | TLS Handshake | TLS 失败 | 保留,证书/握手问题 |
自定义关闭码范围
| 范围 | 用途 |
|---|---|
0~999 | 保留,不可使用 |
1000~1015 | 标准码(上表) |
1016~2999 | 保留,不可由应用定义 |
3000~3999 | 库/框架注册,需 IANA 或约定 |
4000~4999 | 应用自定义(最常用) |
相关:HTTP状态码对照表(握手阶段仍用 HTTP 101 Switching Protocols)
工具说明
WebSocket 在关闭时会携带 2 字节状态码与可选原因字符串。浏览器 DevTools 的 WS 面板可查看 close code。1006 表示连接异常断开,常见于网络闪断、进程被杀、未发 Close 帧。
与 HTTP 的关系
建立连接时使用 HTTP 升级:101 Switching Protocols 表示握手成功;握手失败则仍是普通 HTTP 状态码(如 401、404)。
沪公网安备31010502007661号