7. 错误码
错误码是 32 位字段, 用于在 RST_STREAM 和 GOAWAY 帧中传达流错误或连接错误的原因.
错误码共享一个公共代码空间. 某些错误码只适用于流或整个连接, 在另一种上下文中没有定义语义.
定义了以下错误码:
NO_ERROR (0x00): 相关条件不是错误导致的. 例如, GOAWAY 可以包含此代码来表示连接的优雅关闭.
PROTOCOL_ERROR (0x01): 端点检测到非特定的协议错误. 当没有更具体的错误码可用时使用此错误.
INTERNAL_ERROR (0x02): 端点遇到意外的内部错误.
FLOW_CONTROL_ERROR (0x03): 端点检测到其对等方违反了流量控制协议.
SETTINGS_TIMEOUT (0x04): 端点没有在合理时间内收到对 SETTINGS 帧的响应. 参见 Section 6.5.3 ("Settings Synchronization").
STREAM_CLOSED (0x05): 端点在流已半关闭后收到帧.
FRAME_SIZE_ERROR (0x06): 端点收到大小无效的帧.
REFUSED_STREAM (0x07): 端点在执行任何应用处理之前拒绝了该流 (详见 Section 8.7).
CANCEL (0x08): 端点使用此错误码表示不再需要该流.
COMPRESSION_ERROR (0x09): 端点无法维护连接的字段段压缩上下文.
CONNECT_ERROR (0x0a): 为响应 CONNECT 请求 (Section 8.5) 而建立的连接被重置或异常关闭.
ENHANCE_YOUR_CALM (0x0b): 端点检测到其对等方表现出可能产生过高负载的行为.
INADEQUATE_SECURITY (0x0c): 底层传输的属性不满足最低安全要求 (参见 Section 9.2).
HTTP_1_1_REQUIRED (0x0d): 端点要求使用 HTTP/1.1 而不是 HTTP/2.
未知或不支持的错误码 MUST NOT 触发任何特殊行为. 实现 MAY 将其视为等同于 INTERNAL_ERROR.
第 7 章完成!