日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HTTP/1问题和HTTP/2解决思路

發布時間:2025/4/16 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HTTP/1问题和HTTP/2解决思路 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

古老的HTTP/1

HTTP起源于1991年發明的HTTP/0.9。該協議最初是為一個更簡單的電子文檔Web而設計的,只能使用單一方法(GET)。這些用HTML編寫的文檔能夠通過錨點標簽鏈接到其他文檔。HTTP/0.9協議能夠很好的實現這一目標。

隨著時間的推移,人們添加了兩個具有額外功能和方法(例如提交表單數據的POST)的HTTP新實現。其版本號是v1.0好v1.1,他們在1996年標準化,從那時起,HTTP/1就成了Web的主力軍。

然而接下來,隨著Web技術的演進,Web從提供簡單的HTML文檔轉變成提供復雜的網站和應用程序。這樣,逐漸HTTP/1協議就不能滿足要求了。

HTTP/1協議問題

HTTP/1協議有如下幾個問題:

隊首阻塞

HTTP/1協議無法同時處理超過一小批請求(通常一次處理6個請求)。請求按接收順序響應,在初始批處理中所有請求完成之前,無法開始下載內容的新請求。

未壓縮頭部

使用HTTP/1協議時服務器只能壓縮響應體,而不能壓縮響應頭。

不安全問題

HTTP/1協議使得服務器不需要為其訪問者實現SSL。

HTTP/2協議

不再有隊頭阻塞

HTTP/2使用連接處理多個并行請求的方式來解決隊頭阻塞的問題。連接由以下層次結構中的組件構成:

  • 流(stream)是服務器和瀏覽器之間的雙向通信協議
    單個流由對服務器的請求和來自服務器的響應組成。因為流是連續封裝的,所以可以使用多個流,在同一連接中并行下載多個資源。

  • 消息(message)由流封裝
    單個消息大致相當于對服務器的一個HTTP/1請求或來自服務器的一個響應,提供了請求資源和從Web服務器接收資源內容所需的機制。

  • 幀(frame)由消息封裝
    幀是消息中的分隔符,表明后面的數據類型。例如,響應消息中的HEADERS幀表明以下數據表示響應的HTTP頭。響應消息中的DATA幀表明是請求資源的內容。

頭部壓縮

HTTP/2引入了一個名為HPACK的壓縮算法來解決這個問題。HPACK不僅壓縮頭部數據,還通過創建一個表來存儲重復頭部,以刪除多余頭部。

確保HTTPS

支持HTTP/2的瀏覽器實際上要求通過HTTP/2進行的任何通信都必須是安全的。

參考資料

[1] 《Web性能實戰》

總結

以上是生活随笔為你收集整理的HTTP/1问题和HTTP/2解决思路的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。