1. 程式人生 > >http1.0、http1.1和http2.0的區別

http1.0、http1.1和http2.0的區別

tom 等待 數量級 我們 一個個 虛擬 不支持 pac 數量

http1.1和http1.0的區別

  • http1.1默認持久連接,即它默認就支持長連接,而http1.0需要使用keep-alive參數來告知服務器端要建立一個長連接。http是基於TCP/IP協議的,每次建立都需要經過三次握手,如果每次通訊都需要建立一個新連接的話那會對性能造成影響。因此可以用長連接來發送多個請求。
  • 管線化,客戶端可以同時發送多個HTTP請求,而不用一個個等待響應。
  • 另外還支持傳送內容的一部分,當客戶端已經有了一部分資源後只需要跟服務器端請求另一部分資源即可。這是支持文件斷點續傳的基礎。
  • 此外1.1有host域這個參數而1.0沒有。現在可以web server例如tomat,設置虛擬站點是非常常見的,也即是說,web server上的多個虛擬站點可以共享同一個ip和端口。

http2.0和http1.1的主要區別

  • 多路復用:http2.0采用了多路復用技術,實現了一個連接並發處理多個請求,而且並發請求的數量比1.1大了好幾個數量級。
  • 數據壓縮:HTTP1.1不支持header數據的壓縮,用HPACK算法對header的數據進行壓縮,這樣數據體積小了,在網絡上傳輸就會更快。
  • 服務器推送:當我們對支持http2.0的web server請求數據時,服務器會順便把客戶端需要的其他資源一起推送給客戶端,避免再次創建連接發送請求,這種方式適合加載靜態資源。(服務器端推送的這些資源其實存在客戶端的某處地方,客戶端直接從本地加載這些資源就可以了,不用走網絡,速度自然是快很多的)

http1.0、http1.1和http2.0的區別