圖片來源: 

Chrome 106以及其他Chromium瀏覽器的下一個版本,便會預設停用HTTP/2伺服器推送,Google表示,該功能好壞參半,並沒有達到當初設想明顯的效能提升,甚至在許多情況還可能導致性能下降,因此是時候拋棄HTTP/2伺服器推送,採用更新的103 Early Hints機制。

HTTP/2伺服器推送讓網站可以主動發送頁面需要的資源,而非被動等待瀏覽器請求資源,但是這僅是理想上的情況,在實際應用上,HTTP/2伺服器推送效能優勢通常很難實現,因此最後也沒有被大量採用,僅有1.25%的網站使用了這項功能。

HTTP/2伺服器推送整體使用上好壞參半,沒有明顯的效能增加,還會在許多情況下造成效能下降,另外,即便推送功能包含在規範中,HTTP/3伺服器和客戶端也大多沒有實作,因此對於使用較新的HTTP/3網頁,推送功能已經有效率地被淘汰掉,提供支援的比例也從原本的1.25%,現在已經下降到了0.7%。

淘汰HTTP/2伺服器推送,取而代之的是103 Early Hints,Google提到,這是一個比較不容易出錯的機制,具有跟推送相同的優點,但是缺點少得多。103 Early Hints跟伺服器主動推送資源不同,該功能只會先向瀏覽器發送資源提示,瀏覽器可以控制是否需要這些資源,因為相同的資源可能已經存在於HTTP快取。

當然預載入資源也是另一種替代方案,頁面和瀏覽器可以共同協調,在早期搶先載入關鍵資源,雖然這個方案需要確實發送頁面本身,因此不會如伺服器推送或是103 Early Hints般快速,但是其具有不延遲關鍵頁面資源的額外好處。

Google也提醒,任何嘗試提前載入資源的解決方案,都可能適得其反造成效能下降,因此開發者必須適度使用,而且瀏覽器通常也非常善於做出正確的選擇,所以只會在部分有限的情況,才能稍微改善效能表現。

熱門新聞

Advertisement