HTTP/2&HTTP/3

作者: 不思量q | 来源:发表于2019-10-07 13:31 被阅读0次
  1. HTTP/2很好的解决了当前常用的HTTP/1的一些性能问题,但兼容等问题使得它并不普及。相较来说,HTTP/2大幅度提高了网页的性能。

  2. HTTP/2中使用了多路复用的技术,这个技术可以只通过一个TCP连接就传输所有的请求数据。该技术很好的解决了浏览器限制同一个域名下的请求数量被限制的问题,同时也间接更容易实现全速传输,因为新开连接后的传输速度是慢慢提升的。

多路复用:帧代表着最小的数据单位,每个帧会标识出该帧属于哪个流,流也即是多个帧组成的数据流。在一个TCP连接中,可以存在多条流。换句话说,就是可以发送多个请求,对端可以通过帧中的标识知道其属于哪个请求,从而避免了队头阻塞的问题,极大提高性能。通过 该链接 感受下 HTTP/2 比 HTTP/1 到底快了多少。

Header压缩:如果header中携带了cookie那么每次请求都需要重复传输几百到几千字节。而在HTTP/2中,使用了HPACK压缩格式对其进行编码,减少了header的大小,并在两端维护了一个索引表,记录出现过的header,后面在传输中就可以传输已经记录过的header的键名,对端接收到数据后通过键名找到对应的值。

服务端PUSH:在HTTP/2 中,服务端可以在客户端某个请求后,主动推送其他资源。减少了延迟,在浏览器兼容的情况下也可考虑prefetch

  1. 相比于HTTP/1的文本方式传输,HTTP/2引入的新的编码机制,使得传输数据被分割,并采用二进制编码格式,成了加强其性能的核心点。

  2. HTTP/3:Google搞了一个基于UDP协议的QUIC协议,使用在了HTTP/3上。从H2H3是由于H2的多路复用在一个域名下只需要使用一个TCP连接,当这个连接出现了丢包的情况,整个TCP都要进行重传,后面的数据都将被阻塞,其表现将不如H1,这样就有人会想去修改TCP协议,但是这个协议是基于操作系统实现的,充斥在各种设备中,修改不易,所以有了谷歌的另起炉灶。

  3. QUIC新增了多路复用、0-RTTTLS1.3加密、流量控制、有序交付、重传等功能,

    多路复用:因为TCP是基于IP和端口去识别连接的,在多边的移动网络环境下就会变得很脆弱。而QUIC是通过ID的方式去识别一个连接,只要ID不变,就能连上。所以在移动端,QUIC的表现比TCP好。且其原生就实现了多路复用,传输的单个数据流可以保证有序交付,不会影响其他的数据流,从而解决了TCP存在的问题。

    0-RTT:通过使用类似TCP快速打开的技术,缓存当前会话的上下文,在下次会话恢复的时候,只需要将之前的缓存发给服务器验证通过就可以继续传输。

    纠错机制:丢失一个包的情况下适用,但是丢失多个包就需要使用重传了。

总结:

HTTP/2 通过多路复用、二进制流、Header 压缩等等技术,极大地提高了性能,但是还是存在着问题的

QUIC 基于 UDP 实现,是 HTTP/3 中的底层支撑协议,该协议基于 UDP,又取了TCP 中的精华,实现了即快又可靠的协议

相关文章

  • HTTP/2&HTTP/3

    HTTP/2很好的解决了当前常用的HTTP/1的一些性能问题,但兼容等问题使得它并不普及。相较来说,HTTP/2大...

  • HTTP/2 HTTP/3

    HTTP/2 HTTP/3 HTTP/1.1 有哪些不足 同一时间一个连接只能对应一个请求 同一个域名, 大多数浏...

  • http/1.1 http/2 http/3

    最近整理了一下http的历史发展,学习参考。 http/2相比与http/1.1,提高了网络的性能优化; http...

  • http(3)

    1.http/1.0一个http的请求过程,就是建立一个socket通讯的过程,http是不保存状态的协议,因此每...

  • HTTP协议-HTTP3

    序言 上节提到HTTP3通过更加底层的传输层的优化来提升效率,究竟如何,让我们一起看一下。 HTTP3的优化 通过...

  • HTTP/3 官宣,什么是 HTTP/3

    介绍 HTTP 简史 发布的第一个 HTTP 版本是 HTTP/0.9。Tim Berners-Lee 于 198...

  • (4)HTTP/1.1、HTTP/2、HTTP/3 演变

    一、HTTP/1.1 相比 1.0 性能改进 1)TCP 长连接改善 HTTP/1.0 短连接性能开销 2)支持 ...

  • 图解HTTP(3)

    第九章 基于HTTP的功能追加协议 1. 消除HTTP瓶颈的SPDY(Google 2010),解决性能瓶颈,缩短...

  • HTTP回顾3

    HTTP报文 用于HTTP协议交互的信息被称为HTTP报文,HTTP报文是由多行数据构成的字符串文本,其中,CR+...

  • HTTP/3 原理

    2015 年 HTTP/2 标准发表后,大多数主流浏览器也于当年年底支持该标准。此后,凭借着多路复用、头部压缩、服...

网友评论

    本文标题:HTTP/2&HTTP/3

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