Skip to main content

7. 错误码 (Error Codes)

错误码是32位字段,在RST_STREAM和GOAWAY帧中使用,用于传达流或连接错误的原因。

错误码共享一个公共代码空间。某些错误码仅适用于流或整个连接,在其他上下文中没有定义的语义。

定义了以下错误码:

名称描述
NO_ERROR0x0相关条件不是错误的结果
PROTOCOL_ERROR0x1端点检测到未指定的协议错误
INTERNAL_ERROR0x2端点遇到意外的内部错误
FLOW_CONTROL_ERROR0x3端点检测到对等方违反了流量控制协议
SETTINGS_TIMEOUT0x4端点在合理的时间内未收到SETTINGS帧确认
STREAM_CLOSED0x5端点在流半关闭后收到帧
FRAME_SIZE_ERROR0x6端点收到大小无效的帧
REFUSED_STREAM0x7端点在执行任何应用处理之前拒绝流
CANCEL0x8用于端点指示流不再需要
COMPRESSION_ERROR0x9端点无法维护头部压缩上下文的连接状态
CONNECT_ERROR0xa为响应CONNECT请求建立的连接已重置或异常关闭
ENHANCE_YOUR_CALM0xb端点检测到其对等方的行为可能正在生成过多的负载
INADEQUATE_SECURITY0xc底层传输具有不满足最低安全要求的属性
HTTP_1_1_REQUIRED0xd端点需要使用HTTP/1.1而不是HTTP/2

未知或不支持的错误码不得触发任何特殊行为。这些可以被实现视为等同于INTERNAL_ERROR。


上一章: 6. 帧定义 (Frame Definitions)
下一章: 8. HTTP消息交换 (HTTP Message Exchanges)