HTTP 3.0于 2022 年 6 月 6 日正式发布了,最近盼盼抽出一些时间专门看了下,总结了一下,分享给大家学习。
HTTP3.0何改造UDP?
在HTTP2.0中推出了许多重要的优化,如二进制分帧协议、多路复用、头部压缩、服务端推送等,大幅度的提高了HTTP的性能,将其推上了新的台阶。
但即使性能得到了优化,HTTP在某些地方还是不满足大家的预期,主要是TCP带来的影响。如:
-
建立连接的时间过长
-
队头阻塞
-
移动网络切换时无法保持连接
-
网络切换时需要重新建立连接
TCP影响性能的一些特点,那为什么最终选用了UDP呢?
-
基于TCP的设备、协议、应用特别多,带来的影响特别大,难以兼容。
-
TCP协议栈是Linux内核中的重要部分,修改、升级、兼容的成本特别大。
-
TCP协议复杂,改造难度高。
既然TCP走不通,此时谷歌就将目光放到了同样是传输层协议的UDP身上。
UDP的几个特点:
-
UDP无连接(没有建立连接和结束连接的成本)
-
UDP数据无序,且数据报之间没有关联(无队头阻塞问题)
-
UDP协议简单