http2.0
多路复用:
http1.1中怎么同时加载大量的静态资源呢? 也就是怎么同时发送多个请求,来提高加载效率呢?http1.1提供了pipeline技术,但是默认不使用,而是采用建立多个tcp连接的方式,来发送http请求。在同一个域名下,建立tcp的请求是有限制的,chrome浏览器是不超过6个。所以,并发请求还有很大的提升空间!!
http2.0可以同时在一个tcp上发送多个http请求。怎么做到的呢?为什么http1.1不这样做呢?
http2.0在应用层和传输层之间添加了一个二进制分帧层。(相当于将http的包又给拆分了???)
(加密和设置传输格式通常是在会话层进行的!!)
如何实现的多路复用?? 就很神奇?? 就很不理解!!! 怎么做到的啊??
由于http1.1 的报文结构,使得必须在一个http请求和响应结束后,才能进行下一个http请求的发送。否则,当响应发来的时候,不知道对应的是哪一个请求!!
(那在http的请求中加入一个属性怎么样呢??响应头中也加入一个属性,相当于标识!! 不是可以解决的吗???)
http1.1在应用层是以文本类型传输,http2.0将http1.1的文本进行拆分成更小的帧,并采用二进制格式编码。????
也就是http2.0引入了新的通信方式,帧!
帧的 结构!!!

原来的一个http1.1的报文,就变为了一个 Headers 类型的帧和一系列 Data 类型的帧。 由于帧中都含有一个标识符,所以可以同时发送多个帧,在另一端根据帧的标识符来进行重组。
首部压缩:
服务端推送:
参考文档:
也许会有遗憾,但是不应该在失败之前
浙公网安备 33010602011771号