Skip to main content

7. Error Codes (错误码)

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

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

定义了以下错误码:

NO_ERROR (0x00): 关联的条件不是错误的结果。例如,GOAWAY可能包含此代码以指示正常关闭连接。

PROTOCOL_ERROR (0x01): 端点检测到不特定的协议错误。当更具体的错误码不可用时使用此错误。

INTERNAL_ERROR (0x02): 端点遇到意外的内部错误。

FLOW_CONTROL_ERROR (0x03): 端点检测到其对等方违反了流量控制协议。

SETTINGS_TIMEOUT (0x04): 端点在合理的时间内未收到对SETTINGS帧的响应。请参阅第6.5.3节 ("设置同步")。

STREAM_CLOSED (0x05): 端点在流处于half-closed状态后收到一个帧。

FRAME_SIZE_ERROR (0x06): 端点收到的帧大小无效。

REFUSED_STREAM (0x07): 端点在执行任何应用程序处理之前拒绝了流 (有关详细信息,请参阅第8.7节)。

CANCEL (0x08): 端点使用此选项指示不再需要该流。

COMPRESSION_ERROR (0x09): 端点无法维护连接的字段部分压缩上下文。

CONNECT_ERROR (0x0a): 为响应CONNECT请求建立的连接 (第8.5节) 已重置或异常关闭。

ENHANCE_YOUR_CALM (0x0b): 端点检测到其对等方表现出可能生成过多负载的行为。

INADEQUATE_SECURITY (0x0c): 底层传输具有不满足最低安全要求的属性 (请参阅第9.2节)。

HTTP_1_1_REQUIRED (0x0d): 端点要求使用HTTP/1.1而不是HTTP/2。

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


第7章完成!