【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦!
HTTP成长汗青
在总结http2之前先往返想下http的成长汗青。以下三张图片来自 Jerry Qu
HTTP/0.9 (1991)

HTTP/1.0 (1996)

HTTP/1.1 (1999)

- Length: 无符号的天然数,24个比特表示,仅表示帧负载所占用字节数,不包含帧头所占用的9个字节。默认大年夜小区寄魏为0~16,384(2^14),一旦跨越默认最大年夜值2^14(16384),发送方将不再许可发送,除非接收到接收方定义的SETTINGS_MAX_FRAME_SIZE(一般此值区间为2^14 ~ 2^24)值的通知。
- Type: 8个比特表示,定义了帧负载的具体格局和帧的语义,HTTP/2规范定义了10个帧类型,这里不包含实验类型帧和扩大类型帧
- Flags: 8个比特表示,办事于具体帧类型,默认值为0x0。有一个小技能须要留意,一般来讲,8个比特可以容纳8个不合的标记,比如,PADDED值为0x8,二进制表示为00001000;END_HEADERS值为0x4,二进制表示为00000100;END_STREAM值为0X1,二进制为00000001。可以同时在一个字节中传达三种标记位,二进制表示为00001101,即0x13。是以,后面的帧构造中,标记位一般会应用8个比特表示,若某位不肯定,应用问号?替代,表示此处可能会被设置标记位
- R: 在HTTP/2语境下为保存的比特位,固定值为0X0
- Stream Identifier: 无符号的31比特表示无符号天然数。0x0值表示为帧仅感化于连接,不附属于零丁的流。

HTTP通信过程
众所周知,http是基于tcp之上的应用层协定,即在tcp连接建立之后,在tcp的链路上传送数据。
二进制分帧就是把http的数据按照规定的格局进行封装,类似IP和TCP的数据包, 简单画了个承载HTTP2数据的以太帧构造,便利懂得。

- 起首进行TCP连接,三次握手, C --(SYN{k})--> S , S --(ACK{k+1}&SYN{j})--> C , C --ACK{j+1}--> S
- 客户端发送ACK后,就会发送一个HTTP请求
- 办事端接收到ACK,确认TCP连接建立,再接着收到HTTP请求,进行解析并将结不雅返回客户端。
- 客户端收到HTTP请求结不雅。
HTTP2 的通信过程无外乎这是这个流程,然则经由过程TCP传输的数据会有不合,客户端和办事器的行动也有了新的规矩。惹人了Connection、Stream、Message、Frame这四个概念,大年夜下图大年夜概可以看出他们之间的关系。

- Connection: 其实就是一个TCP连接
- Stream:已建立的连接上的双向字撙节
- Message:请求或者响应,由一个或多个帧组合而成
- Frame: Message中的二进制帧,HTTP/2通信的最小单位,后面会具体解释
这些新特点的产生,主如果为懂得决之前的问题,我们来比较下之前的 HTTP/1.1 ,看看解决了哪些问题
二进制分帧(Binary framing layer)

HTTP2帧中的类型如下:
想懂得每一个类型的具体数据构造可以参考我的另一篇文┞仿http2帧类型详解
经由过程Google Developers中的一个图,我们可以更好的懂得,HTTP2的分帧在收集数据中所处的地位,以及和HTTP/1.1的不合之处。

HTTP/1.1中的头晨变成HEADERS类型的帧,请求体/回应体变成DATA类型的帧,经由过程二进制分帧,将传输的数据应用二进制方法,对交抄本方法削减数据量;经由过程不合类型的帧实现流控、办事器推送等功能。
多路复竽暌姑 (Multiplexing) & 单连续接(One connection per origin)
我们知道在HTTP2之前,我们如不雅想加快网页资本的加载速度,会采取同时建立多条连接的方法,然则如许每次建立TCP连接效力比较低,并且浏览器往往会限制最大年夜连接数(例如chrome的最大年夜连接数为6)。别的在HTTP/1.1中惹人了Pipeline,可以在一个TCP连接中持续发送多个请求,不消关怀前面的响应是否达到,然则办事器必须要按照收到请求的次序来进行响应,如许一旦前面的请求壅塞,后来的请求也将不克不及及时回应。
推荐阅读
【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦! 谈到AI就必须谈大年夜数据,谈到大年夜数据就得谈云计算。在今天ABC(人工智能AI、大年夜数据Bigdada>>>详细阅读
本文标题:HTTP2总结及简单实践总结
地址:http://www.17bianji.com/lsqh/37583.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示