电脑必学的100个常识,电脑必学的100个小技巧

首页 > 网络科技 > 作者:YD1662022-11-29 18:44:46

16.http2-幕后

http2作为一个二进制协议,拥有包含轻量型,安全和快速在内的所有优势,保留了原始的http协议语义,对于http2更改了在系统之间传输数据的方式。

二进制分帧层(binary framing layer),所有通信都在单个TCP连接上执行,该连接在整个对话期间一直处于打开状态,主要是二进制协议将通信分解为帧的方式,这些帧交织在客户端与服务器之间的双向逻辑流中。

HTTP/2 连接的拓扑结构(展示了一个用于建立多个流的连接)

在流 1 中,发送了一条请求消息,并返回了相应的响应消息。

电脑必学的100个常识,电脑必学的100个小技巧(17)

HTTP/2 帧结构

电脑必学的100个常识,电脑必学的100个小技巧(18)

前9个字节对于每个帧是一致的。解析时只需要读取这些字节,就可以准确地知道在整个帧中期望的字节数。

帧首部字段表格:

名称长度描述length3字节表示帧负载的长度type1字节当前帧类型Flags1字节具体帧类型的标识R1位保留位,不要设置,否则会带来严重后果Stream Identifier31位每个流的唯一IDFrame Payload长度可变真实的帧内容,长度是在length字段中设置的

备注:流Id是用来标识帧所属的流。流看作在连接上的一系列帧,它们构成了单独的 HTTP 请求和响应。

对于http1 的请求和响应都分成消息首部和消息体两部分;http2 从上面一张图可以知道,http2的请求和响应分成HEADERS 帧和 DATA 帧。

比较一下:

电脑必学的100个常识,电脑必学的100个小技巧(19)

电脑必学的100个常识,电脑必学的100个小技巧(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.