http2.0

二进制

    Http2 采用二进制传输数据,而非http1.x的文本格式。

多路复用

 http2的一个非常重要的改进。多路复用,简单来说就是一条TCP连接上面可以并发多个请求。

 http1.x: 一个TCP连接上面同时只能发送一个http请求,也就是说第二个请求必须等第一个请求的响应返回才能发送。

 http 管线化:多个请求可在一个TCP连接中发送,发送过程中无需等待前面请求的响应(也就是说第二个请求不必等第一个的请求的响应返回即可发送)。但是,客户端必须顺序接收响应,也就是说请求1响应未返回,那么请求2响应也不会返回。如果前一个请求非常耗时,那么后面的请求都会受到影响,这就是所谓的线头阻塞。http管线化只能发送幂等请求

http管线化并未实现真正的并发请求,大部分浏览器默认会关闭这一功能。

服务器端推送

服务器端可以主动推送数据到客户端。

应用场景: 当客户端请求一个web页面的时候,服务器端返回这个页面。(http1.x)客户端再次去请求这个页面中的内嵌的js、css资源,(http/2)这个时候服务器端就可以主动把客户端需要的资源推送给客户端。

http首部压缩

为什么要做首部压缩呢?一个web页面发送的多个请求,http的首部可能都是相同的,http2.0采用HPACK压缩,是专为http2.0设计的。

参考文章:

HTTP/2 新特性浅析 

 http2 讲解  

HTTP/2.0 相比1.0有哪些重大改进?

猜你喜欢

转载自blog.csdn.net/Smallsun_229/article/details/82084659