close
關注我,回復關鍵字「spring」,
免費領取Spring學習資料。

出品 | OSC開源社區(ID:oschina2013)

谷歌博客顯示,在 Chrome 106 和其他基於 Chromium 的瀏覽器的下個版本中,默認情況下將禁用對 HTTP/2 服務器推送(HTTP/2 Server Push)的支持。

HTTP/2 允許服務器在實際請求之前 「推送」 服務端可能需要的資源, HTTP/2 的 Server Push 特性解決了 HTTP/1.x 的無腦按順序加載資源的問題,本意是提高網頁的響應性能。

然而這功能邏輯本身就有問題,比如資源存放在單個業務服務器上,並行推送多個靜態資源只會降低響應速度,性能不升反降。而對於前後端分離的業務來說,HTTP/2 本身就支持多路復用,server push 只能稍微降低瀏覽器解析 html 的時間,對現代瀏覽器來說性能提升可以忽略不計。

HTTP/2 時代也只有 1.25% 的 HTTP/2 站點使用了這個特性。在 HTTP/3 出來之後,該功能更是徹底被遺忘了,最新的分析中,網站對 HTTP/2 的支持率從 1.25% 下降到 0.7%。

替代方案

103 Early Hints是 Server Push 的首選替代方案,它具有 Push 的許多優點,而缺點則少得多。與服務器推送資源不同,103 Early Hints 只向瀏覽器發送可能受益於請求的資源提示。瀏覽器可以控制它是否需要這些資源,比如瀏覽器已經在 HTTP 緩存中擁有這些資源,則無需額外加載。

預加載關鍵資源是另一種選擇,它允許頁面和瀏覽器一起工作,在頁面加載的早期搶先加載關鍵資源。它不如 Server Push 或 Early Hints 快 —— 但它不會延遲關鍵頁面資源,而另外兩種解決方案都可能發生這種情況。

相關鏈接:https://developer.chrome.com/en/blog/removing-push/



END



在代碼裡面故意留個漏洞,違法嗎?
代碼越寫越亂?那是因為你沒用責任鏈!
PostgreSQL 越來越流行!
Spring Boot 性能太差,教你幾招輕鬆搞定

關注後端面試那些事,回復【2022面經】

獲取最新大廠Java面經


最後重要提示:高質量的技術交流群,限時免費開放,今年抱團最重要。想進群的,關注SpringForAll社區,回復關鍵詞:加群,拉你進群。




點擊「閱讀原文」領取2022大廠面經
↓↓↓
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()