Google|Google预告Chrome 106将默认禁用HTTP/2服务器推送
在周四的一篇 Chrome Developer 博客文章中,Barry Pollard 介绍了 Chromium 社区的下一发展方向 。其中最重要的,莫过于从 Chrome 106(以及其它基于 Chromium 内核的第三方浏览器的下一个版本)起,开发商将默认禁用对“HTTP/2 服务器推送”功能的支持 。
文章图片
截图(via Jake Archibald)
据悉,HTTP/2 Server Push 允许网站向客户端主动发送页面所需的资源,而无需等待它们被请求 。
【Google|Google预告Chrome 106将默认禁用HTTP/2服务器推送】然而正如 Jake Archibald 之前唠过的那样,这项功能存在一些问题与争议,且通常难以实现其性能优势 。
结果就是该功能未被太多使用,仅 1.25% 的 HTTP/2 站点启用了这项特性 。
对 HTTP/2 服务器推送功能使用状况的分析结果,表明有好有坏(Chrome、Akamai) 。此外即使被包含在了规范里面,Push 也没有在许多 HTTP/3 服务器和客户端中实现 。
然而很多时候看不到显著的净性能争议,甚至许多情况下会遇到性能下降 。
对于使用较新的 HTTP/3 的大部分网络,Push 已被有效地淘汰 。
最近重新观察到的分析结果表明,各网站对 HTTP/2 的支持率,已从 1.25% 滑落至 0.7%。
文章图片
作为一种替代方案,103 Early Hints 响应代码是一个不太容易出错的选项 。
与服务器推送资源不同,其仅向浏览器发送可能受益于立即请求的资源的提示 。其次是预加载关键资源,其允许页面和浏览器一起工作,以在页面加载的早期,抢先加载关键部分的资源 。
这意味着浏览器可自行决断是否需要相关资源 —— 比如已有 HTTP 缓存的情况下 。
由于仍需发送页面本身,它较服务器推送 / 103 早期提示有一定的速度劣势 。最后需要指出的是,所有尝试提前加载资源的解决方案,都有可能导致性能下降、因而需要综合评估并适度使用 。
即便如此,预加载关键资源仍具有不延迟关键页面资源的优点(另外两套方案都可能遇到这种状况) 。
通常情况下,浏览器本身就非常擅长做出正确的选择,仅在某些条件下可获得额外的增益 。当然,Web 社区一直在积极尝试新鲜事物,并在不合时宜的情况下及时弃用,这也是它能保持长久生命力的一个主要原因 。
至于听起来潜力似乎很大的 Push 能够发展到哪一步,仍有待时间去检验 。
推荐阅读
- Google|Google成功挫败一次DDoS攻击 峰值时每秒请求超过4600万次
- Google|Google 宣布明年8月关闭其IoT Core服务
- Samsung|三星预告“终极”SSD:升级PCIe 5.0的990 Pro要来了
- Google|Google Search升级算法:遏制SEO 突显高质量内容
- Google|Google员工签署请愿书:呼吁公司为合同工提供堕胎福利
- Google|Google Workspace Individual 宣布进入欧洲市场
- Google|即将到来的Pixel平板将放弃对32位应用的支持
- Google|澳大利亚最高法院:谷歌提供有争议文章链接不涉嫌诽谤
- Google|谷歌PaLM-SayCan模型可让机器人更好地理解自然语言并执行复杂任务
- Google|Android 13正式版发布并开源 一起来看看新特性吧