Chrome 106 將終止對 Server Push 技術的支持

谷歌警告稱,定於 106 月 27 日發布的 Chrome 2 中將停用對伺服器推送技術的支援。 這些變更還將影響基於 Chromium 程式碼庫的其他瀏覽器。 伺服器推送技術在 HTTP/3 和 HTTP/XNUMX 標準中定義,允許伺服器向客戶端發送資源,而無需等待客戶端的明確請求。 假設透過這種方式,伺服器可以加速頁面加載,因為渲染頁面所需的 CSS 檔案、腳本和圖像在客戶端請求時已經傳輸到伺服器端。

停止支援的原因是,當有更簡單且同樣有效的替代方案(例如標籤)可用時,實施該技術會變得不必要的複雜性,在此基礎上瀏覽器可以請求資源,而無需等待該資源在頁面上使用。 一方面,與伺服器推送相比,預先載入會導致不必要的資料包交換(RTT),但另一方面,它避免發送已經在瀏覽器快取中的資源。 一般來說,使用伺服器推送和預先載入時的延遲差異並不顯著。

要在伺服器端發起預加載,建議使用 HTTP 回應代碼 103,它允許您在請求後立即告知客戶端某些 HTTP 標頭的內容,而無需等待伺服器完成所有相關操作請求並開始提供內容。 同樣,您可以提供與所提供的可能預先載入的頁面相關的元素的提示(例如,您可以提供指向頁面上使用的 CSS 和 JavaScript 的連結)。 收到有關此類資源的資訊後,瀏覽器可以開始下載它們,而無需等待主頁完成渲染,從而減少了整體請求處理時間。

除了優化資源載入之外,伺服器推送機制還可以用於將資料從伺服器傳輸到客戶端,但為了這些目的,W3C 聯盟正在開發 WebTransport 協定。 WebTransport 中的通訊通道是在 HTTP/3 之上組織的,使用 QUIC 協定作為傳輸。 WebTransport 提供了諸如將傳輸組織為多個流、單向流、不考慮資料包發送順序(亂序)的傳送、可靠和不可靠傳送模式等高級功能。

根據Google統計,Server Push技術應用並不廣泛。 儘管伺服器推播包含在 HTTP/3 規格中,但實際上許多伺服器和客戶端軟體產品(包括 Chrome 瀏覽器)本身並沒有實現它。 2021 年,大約 1.25% 的運行 HTTP/2 的網站使用伺服器推送。 今年這數字已降至0.7%。

來源: opennet.ru

添加評論