HTTP/2 和 HTTP/3 这两个新协议,升级了到底能不能提速。我给你说说实际情况。
先说 HTTP/2。它相比老的 HTTP/1.1,最大的改进是多路复用。什么意思。老协议里,浏览器要下载十个文件,得排队,一个下完再下一个,或者开六个连接同时下。新协议里,这些都走同一个连接,同时进行,不用排队。这对页面里有大量小文件的站,提速很明显。
HTTP/2 还有个改进是头部压缩。每次请求都要带一堆头部信息,老的协议每次重复传,新协议会压缩。这个对请求多的页面也有帮助。
再说 HTTP/3。它基于 QUIC 协议,用 UDP 传输。最大的优势是在网络不稳定的情况下表现更好。比如用户用手机在移动网络下,网络一会好一会差,HTTP/3 能更好地处理这种波动。它还有个好处是连接建立更快,减少了握手的时间。
那要不要升。HTTP/2 我建议升,成本低,收益明显。现在主流服务器都支持,配一下就行。HTTP/3 可以升,但要看你服务器和 CDN 支持不支持,配置稍微麻烦点。
有个坑要注意。HTTP/2 的多路复用,导致以前那种把文件合并成大文件的做法反而不好了。以前为了减少请求数,会把十个 JS 合并成一个。现在不用合并了,因为请求不排队了。所以升级协议的时候,前端的构建策略也要跟着调整。
升级之前先测一下,看你现在的瓶颈在哪儿。如果瓶颈是服务器响应慢,那升级协议帮助不大。如果瓶颈是资源下载排队,那升级效果会很明显。
新技术要用对地方。协议升级是基础设施层面的优化,做对了是加分项。
—— 来自 图趣网 - 优秀网站分类目录 的分享