美文网首页
HTTP2.0特性

HTTP2.0特性

作者: 爱码士平头哥 | 来源:发表于2018-04-08 18:13 被阅读19次

    一、多路复用的单一长连接

    1.单一长连接

    在HTTP/2中,客户端向某个域名的服务器请求页面的过程中,只会创建一条TCP连接,即使这页面可能包含上百个资源。  单一的连接应该是HTTP2的主要优势,单一的连接能减少TCP握手带来的时延 。HTTP2中用一条单一的长连接,避免了创建多个TCP连接带来的网络开销,提高了吞吐量。

    2.多路复用

    HTTP2虽然只有一条TCP连接,但是在逻辑上分成了很多stream。

    HTTP2把要传输的信息分割成一个个二进制帧,首部信息会被封装到HEADER Frame,相应的request body就放到DATA Frame,一个帧你可以看成路上的一辆车,只要给这些车编号,让1号车都走1号门出,2号车都走2号门出,就把不同的http请求或者响应区分开来了。但是,这里要求同一个请求或者响应的帧必须是有有序的,要保证FIFO的,但是不同的请求或者响应帧可以互相穿插。这就是HTTP2的多路复用,是不是充分利用了网络带宽,是不是提高了并发度?

    二、头部压缩和二进制格式

    http1.x一直都是plain text,对此我只能想到一个优点,便于阅读和debug。但是,现在很多都走https,SSL也把plain text变成了二进制,那这个优点也没了。

    于是HTTP2搞了个HPACK压缩来压缩头部,减少报文大小(调试这样的协议将需要curl这样的工具,要进一步地分析网络数据流需要类似Wireshark的http2解析器)。

    三、服务端推动Sever Push

    这个功能通常被称作“缓存推送”。主要的思想是:当一个客户端请求资源X,而服务器知道它很可能也需要资源Z的情况下,服务器可以在客户端发送请求前,主动将资源Z推送给客户端。

    这个功能帮助客户端将Z放进缓存以备将来之需。

    参考链接:https://www.zhihu.com/question/34074946/answer/157909115

    相关文章

      网友评论

          本文标题:HTTP2.0特性

          本文链接:https://www.haomeiwen.com/subject/miemhftx.html