企業網站建設長連接和HTTP管線化
日期 : 2021-01-21 21:23:23
長連接和HTTP管線化。早期的HTTP協議工作機制比較簡單,默認情況下HTTP協議中每個TCP連接只能承載一個HTTP請求和響應,瀏覽器發送一個請求給服務器,服務端回復完成后隨即斷開連接,當瀏覽器需要請求新的資源時,需要重新建立TCP連接。隨著Web技術的發展,網頁文件中包含越來越多文件,尤其是圖片和媒體文件,這會導致瀏覽器獲取服務器資源的效率降低。HTTP1.1增加了長連接機制,在建立TCP連接后,只要一方不顯式斷開連接,TCP連接就不會斷開。這樣后續資源請求均可基于之前的TCP連接,減少了TCP連接建立和斷開的時間,有利于加快網頁文件響應速度。
HTTP1.1還增加了管線化支持,引入管線化機制之前,瀏覽器和服務端采用一問一答的形式,瀏覽器在收到上一個HTTP請求的回復后才能發送HTTP下一個請求,基于管線化技術可以將多個HTTP請求一次性填充在一個TCP包內一次性提交給服務器,在發送過程中不需要等待服務端對上一個請求的回復,減少了網絡上傳輸的TCP數據包,減輕了網絡負載。HTTP管線化基于長連接實現,需要瀏覽器和服務器兩者配合才能實現。
管線化技術可以加快網頁文件的加載時間,尤其在具有高延遲的網絡連接環境中,在速度較快的網絡連接環境中,管線化技術可能提速不明顯,首先只有GET和HEAD等請求可以進行管線化,POST請求不能進行管線化,使用場景有限;其次,服務器端要按照請求順序回復,這有可能會導致隊頭阻塞問題。
HTTP1.1還增加了管線化支持,引入管線化機制之前,瀏覽器和服務端采用一問一答的形式,瀏覽器在收到上一個HTTP請求的回復后才能發送HTTP下一個請求,基于管線化技術可以將多個HTTP請求一次性填充在一個TCP包內一次性提交給服務器,在發送過程中不需要等待服務端對上一個請求的回復,減少了網絡上傳輸的TCP數據包,減輕了網絡負載。HTTP管線化基于長連接實現,需要瀏覽器和服務器兩者配合才能實現。
管線化技術可以加快網頁文件的加載時間,尤其在具有高延遲的網絡連接環境中,在速度較快的網絡連接環境中,管線化技術可能提速不明顯,首先只有GET和HEAD等請求可以進行管線化,POST請求不能進行管線化,使用場景有限;其次,服務器端要按照請求順序回復,這有可能會導致隊頭阻塞問題。