Skip to main content

4. HTTP帧 (HTTP Frames)

一旦HTTP/2连接建立,端点可以开始交换帧。

4.1 帧格式 (Frame Format)

所有帧以固定的9字节头部开始,后跟可变长度的有效负载。

+-----------------------------------------------+
| Length (24) |
+---------------+---------------+---------------+
| Type (8) | Flags (8) |
+-+-------------+---------------+-------------------------------+
|R| Stream Identifier (31) |
+=+=============================================================+
| Frame Payload (0...) ...
+---------------------------------------------------------------+

4.2 帧大小 (Frame Size)

帧有效负载的大小受SETTINGS_MAX_FRAME_SIZE设置通告的最大大小限制。此设置可以具有2^14(16,384)到2^24-1(16,777,215)八位字节之间的任何值。

4.3 头部压缩和解压缩 (Header Compression and Decompression)

HTTP/2使用HPACK [HPACK]压缩头部字段,它使用霍夫曼编码进行字符串编码,并允许使用动态表索引先前传输的头部字段。详见RFC 7541。


上一章: 3. 启动HTTP/2 (Starting HTTP/2)
下一章: 5. 流和多路复用 (Streams and Multiplexing)