HTTP1.1 HTTP 2.0主要區別

多路複用

HTTP2.0使用了多路複用的技術,做到同一個連接併發處理多個請求,而且併發請求的數量比HTTP1.1大了好幾個數量級。

當然HTTP1.1也可以多建立幾個TCP連接,來支持處理更多併發的請求,但是創建TCP連接本身也是有開銷的。

TCP連接有一個預熱和保護的過程,先檢查數據是否傳送成功,一旦成功過,則慢慢加大傳輸速度。因此對應瞬時併發的連接,服務器的響應就會變慢。所以最好能使用一個建立好的連接,並且這個連接可以支持瞬時併發的請求。
 

數據壓縮

HTTP1.1不支持header數據的壓縮,HTTP2.0使用HPACK算法對header的數據進行壓縮,這樣數據體積小了,在網絡上傳輸就會更快。

除此之處,它還規定了HTTP傳輸的所有內容都轉爲二進制進行傳輸,以前的版本只有頭部信息會轉爲二進制,內容體並不會。不統一總會造成額外的麻煩。比如內容是文本,而文本是有多種樣式的,這樣的話解析它的一方就很麻煩了,要支持你各種樣式。

服務器推送

意思是說,當我們對支持HTTP2.0的web server請求數據的時候,服務器會順便把一些客戶端需要的資源一起推送到客戶端,免得客戶端再次創建連接發送請求到服務器端獲取。這種方式非常合適加載靜態資源。

服務器端推送的這些資源其實存在客戶端的某處地方,客戶端直接從本地加載這些資源就可以了,不用走網絡,速度自然是快很多的。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章