7. Error Codes
Error codes 是 32-bit 字段, 用于 RST_STREAM 和 GOAWAY frames, 以传达 stream 或 connection 终止的原因.
Error Code Registry
| Name | Code | 描述 |
|---|---|---|
| NO_ERROR | 0x0 | 优雅关闭 |
| PROTOCOL_ERROR | 0x1 | 检测到 protocol error |
| INTERNAL_ERROR | 0x2 | Internal error |
| FLOW_CONTROL_ERROR | 0x3 | 超出 flow-control limits |
| SETTINGS_TIMEOUT | 0x4 | SETTINGS 未被确认 |
| STREAM_CLOSED | 0x5 | stream 关闭后收到 frame |
| FRAME_SIZE_ERROR | 0x6 | frame size 不正确 |
| REFUSED_STREAM | 0x7 | stream 未被处理 |
| CANCEL | 0x8 | stream 已取消 |
| COMPRESSION_ERROR | 0x9 | compression state 无效 |
| CONNECT_ERROR | 0xa | TCP connection error |
| ENHANCE_YOUR_CALM | 0xb | 超出 processing capacity |
| INADEQUATE_SECURITY | 0xc | 不满足 security requirements |
| HTTP_1_1_REQUIRED | 0xd | 改用 HTTP/1.1 |
Usage
Error codes 用于:
- RST_STREAM frames: 终止单个 streams
- GOAWAY frames: 终止 connections
未知 error codes MUST 被视为 INTERNAL_ERROR.