<address id="thnfp"></address>

    <address id="thnfp"><th id="thnfp"><progress id="thnfp"></progress></th></address>
    <listing id="thnfp"><nobr id="thnfp"><meter id="thnfp"></meter></nobr></listing>
    以文本方式查看主題

    -  安易免費財務軟件交流論壇  (http://m.gangyx.cn/bbs/index.asp)
    --  電腦知識交流  (http://m.gangyx.cn/bbs/list.asp?boardid=11)
    ----  [灌水]了解Cloudflare 對HTTP/2的改進,助力實現更快的網絡  (http://m.gangyx.cn/bbs/dispbbs.asp?boardid=11&id=324700)

    --  作者:藍色惆悵
    --  發布時間:2021/11/1 9:04:50
    --  [灌水]了解Cloudflare 對HTTP/2的改進,助力實現更快的網絡

      圖片點擊可在新窗口打開查看

      HTTP/2承諾了一個更快的網絡,而Cloudflare很久以前就為我們所有的客戶推出了HTTP/2訪問。但是HTTP/2的一個特性——優先級,并沒有達到預期的效果。問題不在于它從根本上被破壞了,而在于瀏覽器實現它的方式。

      現如今,Cloudflare正在推動對HTTP/2優先級的改進,使我們的服務器能夠控制優先級決策,從而真正大幅提高網絡速度。

      歷史上,瀏覽器一直控制著網站內容的加載方式和加載時間。今天,我們將徹底改變所有付費計劃的模式,將控制權直接交給網站所有者?蛻艨梢栽贑loudflare控制面板的Speed選項卡中啟用“增強的HTTP/2優先級”:該選項卡使用改進的調度方案覆蓋了瀏覽器的默認設置,從而顯著提高了訪問者的體驗(我們已經在多個場合看到50%的速度提升)。有了Cloudflare Workers,站點所有者可以更進一步,完全根據他們的具體需求定制訪問體驗。

      背景

      網站頁面由數十個(有時候是數百個)獨立的資源組成,瀏覽器將這些資源加載并組裝到最終顯示的內容中。這包括用戶與之交互的可見內容(HTML、CSS、圖像)以及站點本身的應用程序邏輯(JavaScript)、廣告、跟蹤站點使用情況的分析和市場跟蹤指向標。加載這些資源的順序對用戶查看內容和與頁面交互所需的時間有很大影響。

      瀏覽器基本上是一個HTML處理引擎,它遍歷HTML文檔,按照從HTML開始到結束的順序執行指令,并在此過程中構建頁面。對樣式表(CSS)的引用告訴瀏覽器如何設置頁面內容的樣式,瀏覽器將延遲顯示內容,直到完成樣式表的加載(這樣它便知道如何設置將要顯示的內容的樣式)。文檔中引用的腳本可以有幾種不同的行為。如果腳本被標記為“async(異步)”或“defer(延遲)”,則瀏覽器可以繼續處理文檔并運行腳本代碼(只要腳本可用)。如果腳本沒有被標記為“async(異步)”或“defer(延遲)”,那么瀏覽器必須停止處理文檔,直到腳本被下載和執行之后才能繼續。這些腳本被稱為“阻塞”腳本,因為它們阻止瀏覽器繼續處理文檔,直到它們被加載和執行。

      HTML文檔分為兩部分。<head>在文檔的開頭,包含瀏覽器顯示內容所需的樣式表、腳本和其他指令。文檔的<body>位于標題之后,它包含在瀏覽器窗口中顯示的實際頁面內容(然而腳本和樣式表也可以在body中顯示)。在瀏覽器處理到文檔主體之前,用戶看不到任何顯示內容,頁面將保持空白,所以盡快通過文檔頭部是很重要的。如果你想更深入地了解細節,“HTML5 rocks”將提供一個很棒的教程,介紹瀏覽器的工作原理。

      瀏覽器通常負責確定加載構建頁面以及繼續處理文檔所需的不同資源的順序。在使用HTTP / 1.x的情況下,瀏覽器一次性向一臺服務器請求的內容數受限(通常為6個連接,而每個連接一次只能請求一個資源),因此,瀏覽器按事物的需求嚴格控制著加載順序。而使用HTTP / 2,事情會有很大改變。瀏覽器可以立即請求所有資源(至少可以在知道這些資源后立即請求),并且它向服務器提供了有關如何交付資源的詳細說明。

      最佳資源排序

      Cloudflare優先級劃分方案包含64個優先“級別”,每個優先級中都有若干資源組,這些資源組決定它們之間如何共享連接:

      圖片點擊可在新窗口打開查看

      在繼續進入下一個較低優先級之前,將轉移較高優先級的所有資源。

      在給定的優先級內,有3個不同的“并發”組:

      0:并發“0”組中的所有資源都按請求的順序發送,使用100%的帶寬。只有在下載了所有并發“0”組資源之后,才會考慮相同級別的其他組。

      1:并發“1”組中的所有資源按請求順序發送?捎脦捚骄峙浣o并發“1”組和并發“n”組。

      N:并發“n”組中的資源是并行發送的,從而在它們之間分配可用于該組的帶寬。

      實際上,并發“0”組對于需要順序處理的關鍵內容(腳本、CSS等)非常有用。并發“1”組對于不太重要的內容非常有用,這些內容可以與其他資源共享帶寬,但是資源本身仍然可以從順序處理中獲益(異步腳本、非漸進式圖像等)。并發“n”組對于從并行處理(漸進圖像、視頻、音頻等)中獲益的資源非常有用。

      Cloudflare默認優先級

      啟用后,增強的優先級排序將實現上述資源的“最佳”調度。應用的具體優先級如下所示:

      圖片點擊可在新窗口打開查看

      這種優先級方案允許按順序發送渲染阻塞的內容,然后并行發送可見圖像,然后在一定程度上共享頁面內容的其余部分,以平衡應用程序和內容加載。需要注意的是,并不是所有的瀏覽器都能區分不同類型的樣式表和腳本,但是在所有情況下這一方案都能顯著提高速度。默認情況下速度會快50%,尤其是對于Edge和Safari用戶來說:

      圖片點擊可在新窗口打開查看

      調整和控制響應優先級的能力是未來許多工作將從中受益的基本構件。我們將在它的基礎上實現我們自己的高級優化。而通過在Workers中展示它,我們也向站點和研究人員開放了它,以試驗不同的優先級策略。通過應用程序市場,公司也可以在Workers平臺上構建新的優化服務,并將其提供給其他站點使用。

      如果您使用的是Pro計劃或更高版本,請轉到Cloudflare信息中心中的“速度”標簽,然后啟用“增強的HTTP / 2優先級”以加速您的網站。


    Channel