Work hard and live hard
网络 > HTTP2 / HTTP3基本特性,都用到了哪些协议

HTTP2 / HTTP3基本特性,都用到了哪些协议

2022-11-06 分类:网络 作者:Agoni 阅读(34)

HTTP2相比于HTTP1.1,做到了向下兼容,用HPACK算法和Huffman编码(压缩算法),利用静态表压缩header头部传输字段大小,以此提高传输速率;

但是HTTP2依然存在对头阻塞的问题, 只不过是在TCP层面造成的阻塞;

HTTP/2 需要限制 连接时长或者请求次数;

HTTP/2 实现了 Stream 并发;

可以根据资源的渲染顺序来设置 Stream 的优先级,从而提高用户体验;

HTTP/2 是基于 TCP 协议来传输数据的,TCP 是字节流协议,TCP 层必须保证收到的字节数据是完整且连续的,这样内核才会将缓冲区里的数据返回给 HTTP 应用,那么当「前 1 个字节数据」没有到达时,后收到的字节数据只能存放在内核缓冲区里,只有等到这 1 个字节数据到达时,HTTP/2 应用层才能从内核中拿到数据,这就是 HTTP/2 队头阻塞问题。

=================================我是分割线====================================

相比较HTTP2,HTTP3使用了UDP协议代替了TCP协议,还基于 UDP 协议在「应用层」实现了 QUIC 协议,它具有类似 TCP 的连接管理、拥塞窗口、流量控制的网络特性,相当于将不可靠传输的 UDP 协议变成“可靠”的了,所以不用担心数据包丢失的问题。

QUIC 协议的优点有很多,这里举例几个,比如:

无队头阻塞,stream之间不会再因为对头堵塞而互相影响传输,单个stream只会影响它自己本生这个stream流的传输进度,等到某个stream流丢失的包数据重新发送,这一整个stream流数据才能被应用层接收读取;

更快的连接建立,将传输效率提升至0-RTT;

连接迁移,HTTP2当设备无线和数据流量切换时,会重置TCP链接,HTTP3通过QUIC协议,只要通过连接ID即可完成无缝连接迁移;

HTTP/3 的 QPACK 通过两个特殊的单向流来同步双方的动态表,解决了 HTTP/2 的 HPACK 队头阻塞问题。

「 有志者自有千计万计,无志者只感千难万难 」

赞(0) 打赏
0

谢谢,共同进步~

支付宝
微信
标签:

上一篇:

下一篇:

你可能感兴趣

0 条评论关于"HTTP2 / HTTP3基本特性,都用到了哪些协议"

博客简介

loading......
姓名:张峰
性别:男
爱好:女
喜欢:旅游,煲剧,写书法,写博客,欢迎一起交流。。。。。。

精彩评论

站点统计

  • 文章总数: 35 篇
  • 草稿数目: 0 篇
  • 分类数目: 11 个
  • 独立页面: 1 个
  • 评论总数: 23 条
  • 链接总数: 4 个
  • 标签总数: 29 个
  • 访问总量: 8091519 次
  • 最近更新: 2022年11月29日
服务热线:
 1995****175

 QQ在线交流

 旺旺在线