本书未发布

2.3. http2协议

未匹配的标注

HTTP2 引入了一下的三个新概念:

Stream: 已经建立连接的双向字节流,用唯一 ID 标示,可以传输一个或多个消息.
Message: 逻辑上的 HTTP 消息,请求或者响应,可以包含多个 frame.
Frame: HTTP2 通信的最小单位,二进制头封装,封装 HTTP 头部或 body

HTTP2 是把一个 HTTP 数据包分成多个帧发送,每个帧有一个二进制头,并把 HTTP 分成多个独立小帧,多个帧组成一个 Message 在流中发送。不同流的帧有可能交错到达,帧的报文头中标示了属于哪一个流。

+-----------------------------------------------+

| Length (24) |

+---------------+---------------+---------------+

| Type (8) | Flags (8) |

+-+-------------+---------------+-------------------------------+

|R| Stream Identifier (31) |

+=+=============================================================+

| Frame Payload (0...) ...

+---------------------------------------------------------------+

帧头为固定的 9 个字节((24+8+8+1+31)/8=9)呈现,变化的为帧的负载 (payload),负载内容是由帧类型(Type)定义。

HTTP2 有以下十种帧类型

反馈和交流请加群组:QQ 群 373278915

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 查看所有版本


暂无话题~