我们大家知道,HTTP是应用层协议,应用层产生的数据会通过传输层协议作为载体来传输到互联网上的其他主机中,而其中的载体就是TCP协议,这是HTTP2之前的主流模式。
但是随着TCP协议的缺点不断暴露出来,新一代的HTTP协议HTTP3。0毅然决然切断了和TCP的联系,转而拥抱了UDP协议,这么说不太准确,其实HTTP3。0其实是拥抱了QUIC协议,而QUIC协议是建立在UDP协议基础上的。HTTP3。0
HTTP3。0于2022年6月6日正式发布,IETF把HTTP3。0标准制定在了RFC9114中,HTTP3。0其实相较于HTTP2。0要比HTTP2。0相较于HTTP1。1的变化来说小很多,最大的提升就在于效率,替换TCP协议为UDP协议,HTTP3。0具有更低的延迟,它的效率甚至要比HTTP1。1快3倍以上。
其实每一代HTTP协议的不断发展都是建立在上一代HTTP的缺点上的,就比如HTTP1。0最大的问题就是传输安全性和不支持持久连接上,针对此出现了HTTP1。1,引入了KeepAlive机制来保持长链接和TLS来保证通信安全性。但此时的HTTP协议并发性还做的不够好。
随着网络的不断发展,每个网站所需资源(CSS、JavaScript、图像等)的数量逐年增加,浏览器发现自己在获取和呈现网页时需要越来越多的并发性。但是由于HTTP1。1只能够允许客户端服务器进行一次HTTP请求交换,因此在网络层获得并发性的唯一方法是并行使用多个TCP连接到同一个源,不过使用多个TCP链接就失去了keepAlive的意义。
然后出现了SPDY协议,主要解决HTTP1。1效率不高的问题,包括降低延迟,压缩header等等,这些已经被Chrome浏览器证明能够产生优化效果,后来HTTP2。0基于SPDY,并且引入了流(Stream)的概念,它允许...
(全文)