HTTP/2 Server Push 已事实性“死亡”,我很怀念它
💡
原文中文,约3400字,阅读约需8分钟。
📝
内容提要
作者在重构博客时尝试配置HTTP/2服务端推送以优化加载速度,但发现该功能已被主流浏览器弃用。虽然HTTP/2推送旨在减少延迟,但因缓存管理不善而失败。现有的103 Early Hints和资源提示(Preload、Prefetch)提供了更灵活的资源加载方式,尽管仍需两次往返。作者怀念HTTP/2推送的理想,但承认Web演进选择了更稳妥的方案。
🎯
关键要点
- 作者尝试配置HTTP/2服务端推送以优化博客加载速度,但发现该功能已被主流浏览器弃用。
- HTTP/1.1中需要两次往返才能获取完整页面资源,而HTTP/2推送可以减少为一次往返。
- HTTP/2服务端推送的优势在于可以在一个RTT内传送CSS/JS等资源,且可被浏览器缓存。
- 主流浏览器逐渐移除HTTP/2服务端推送功能,因其性能不佳和使用率低。
- 103 Early Hints是服务端推送的继任者,允许服务器提前发送资源提示,缩短渲染时间。
- 资源提示(Preload和Prefetch)通过声明式方式管理资源加载优先级,仍需两次往返。
- 作者最终未能为博客配置HTTP/2服务端推送,怀念其理想化的性能优化方案。
- Web演进选择了更稳妥的方案,将决策权交还给浏览器,避免了服务端推送的冗余问题。
- 尽管HTTP/2服务端推送已被弃用,但其追求极致性能的理想仍被103 Early Hints和Preload继承。
➡️