Google預告Chrome 106將默認禁用HTTP/2服務器推送

在周四的一篇 Chrome Developer 博客文章中,Barry Pollard 介紹了 Chromium 社區的下一發展方向。其中最重要的,莫過於從 Chrome 106(以及其它基於 Chromium 內核的第三方瀏覽器的下一個版本)起,開發商將默認禁用對“HTTP/2 服務器推送”功能的支持。

1.png

截圖(via Jake Archibald)

據悉,HTTP/2 Server Push 允許網站向客戶端主動發送頁面所需的資源,而無需等待它們被請求。

然而正如 Jake Archibald 之前嘮過的那樣,這項功能存在一些問題與爭議,且通常難以實現其性能優勢。

結果就是該功能未被太多使用,僅 1.25% 的 HTTP/2 站點啟用了這項特性。

對 HTTP/2 服務器推送功能使用狀況的分析結果,表明有好有壞(Chrome、Akamai)。

然而很多時候看不到顯著的凈性能爭議,甚至許多情況下會遇到性能下降。

此外即使被包含在了規範裡面,Push 也沒有在許多 HTTP/3 服務器和客戶端中實現。

對於使用較新的 HTTP/3 的大部分網絡,Push 已被有效地淘汰。

最近重新觀察到的分析結果表明,各網站對 HTTP/2 的支持率,已從 1.25% 滑落至 0.7% 。

2.png

作為一種替代方案,103 Early Hints 響應代碼是一個不太容易出錯的選項。

與服務器推送資源不同,其僅向瀏覽器發送可能受益於立即請求的資源的提示。

這意味着瀏覽器可自行決斷是否需要相關資源 —— 比如已有 HTTP 緩存的情況下。

其次是預加載關鍵資源,其允許頁面和瀏覽器一起工作,以在頁面加載的早期,搶先加載關鍵部分的資源。

由於仍需發送頁面本身,它較服務器推送 / 103 早期提示有一定的速度劣勢。

即便如此,預加載關鍵資源仍具有不延遲關鍵頁面資源的優點(另外兩套方案都可能遇到這種狀況)。

最後需要指出的是,所有嘗試提前加載資源的解決方案,都有可能導致性能下降、因而需要綜合評估並適度使用。

通常情況下,瀏覽器本身就非常擅長做出正確的選擇,僅在某些條件下可獲得額外的增益。

當然,Web 社區一直在積極嘗試新鮮事物,並在不合時宜的情況下及時棄用,這也是它能保持長久生命力的一個主要原因。

至於聽起來潛力似乎很大的 Push 能夠發展到哪一步,仍有待時間去檢驗。

(0)
上一篇 2022-08-19 16:30
下一篇 2022-08-19 16:30

相关推荐