在研究互联网及其背后的技术时,您可能遇到过这个术语:HTTP。HTTP或超文本传输??协议是网络的主干,是一种用于传输文本数据的通用协议。毫无疑问,您已经使用过它,因为您所了解的有关HTTP的网站都使用HTTP。HTTP简史简介HTTP发布的第一个版本是HTTP/0.9。TimBerners-Lee于1989年创建它,并于1991年将其命名为HTTP/0.9。HTTP/0.9的功能有限,只能做基本的事情。它不能返回网页以外的任何内容,并且不支持cookie和其他现代功能。1996年,HTTP/1.0发布,带来了POST请求等新特性,能够发送网页以外的内容。但是,与今天相比,还有很长的路要走。HTTP/1.1于1997年发布,经历了两次修订,一次在1999年,一次在2007年。它带来了许多重大的新特性,比如cookie和连接仍然存在。最后,在2015年,HTTP/2发布并允许性能改进,支持服务器发送事件和一次发送多个请求的能力。HTTP/2仍然很新,只有不到一半的网站使用它。HTTP/3:最新版本的HTTPHTTP/3,或HTTPoverQUIC,对HTTP做了很多改变。HTTP传统上是通过TCP(传输控制协议)完成的。然而,TCP于1974年启动了Internet。当TCP最初创建时,其作者无法预测到网络的发展。TCP在一段时间内限制了HTTP的速度和安全性,因为TCP已经过时了。现在,感谢HTTP/3,HTTP不再受到限制。HTTP/3使用谷歌在2012年开发的称为QUIC(发音为“quick”)的新协议,而不是TCP。这为HTTP引入了许多新特性。链接:https://www.linuxmi.com/http-3-http-over-quic.htmlFeaturesFasterRequestMultiplexingPhotoviaPAULSMITHfromUnsplash在HTTP/2之前,浏览器只能向服务器发送请求。这使得网站加载速度明显变慢,因为浏览器一次只加载一种资源,例如CSS或JavaScript。HTTP/2引入了一次加载多个资源的能力,但TCP并非为此而生。如果其中一个请求失败,TCP将使浏览器重做所有请求。HTTP/3解决了这个问题,因为TCP已经在HTTP/3中被移除并被QUIC取代。使用HTTP/3,浏览器只需要重做失败的请求。因此,HTTP/3更快、更可靠。更快的加密照片来自Unsplash的FranckHTTP/3优化了允许加密浏览器HTTP请求的“握手”。QUIC将初始连接与TLS握手相结合,使其在默认情况下更加安全和快速。链接:https://www.linuxmi.com/http-3-http-over-quic.html实施标准化在撰写本文时,HTTP/3和QUIC尚未标准化。目前有一个IETF工作组正在制定QUIC标准化草案。稍微修改过的HTTP/3的QUIC版本,使用TLS而不是Google的加密,但具有相同的好处。浏览器支持目前,由于谷歌创建了QUIC协议和HTTPoverQUIC提案,Chrome默认支持HTTP/3。Firefox在88+版本中还支持没有标志的协议。Safari14支持HTTP/3,但前提是启用了实验性功能标志。浏览器对HTTP/3的支持(来源:CanIUse)无服务器/CDN支持到目前为止,只有一部分服务器支持HTTP/3,但它们的份额正在增长。Cloudflare是除Google之外最早支持HTTP/3的公司之一,因此他们的无服务器功能和CDN是HTTP/3兼容的。此外,GoogleCloud和Fastly符合HTTP/3标准。遗憾的是,MicrosoftAzureCDN和AWSCloudFront目前似乎不支持HTTP/3。如果您想尝试HTTP/3,QUIC.Cloud是一种有趣的(尽管是实验性的)方式,可以在您的服务器前设置缓存HTTP/3CDN。Cloudflare、Fastly和GoogleCloud也有很好的HTTP/3支持,更适合生产。总而言之,HTTP/3仍然是HTTP的一个非常实验性的更新,它很可能会发生变化。但是,超过一半的用户支持当前形式的HTTP/3。如果您已准备好更新您的实施,这将是一个受欢迎的性能提升。我希望你喜欢阅读这篇文章并从中学到一些东西。相关链接:https://w3techs.com/technologies/details/ce-http2https://quicwg.org/https://caniuse.com/http3https://quic.cloud
