連接:http://caibaojian.com/http2.html
來源:http://caibaojian.comhtml
http1.0和http1.1的缺點:服務器
1.http1.0只容許在一個鏈接上創建當前未完成的請求網絡
2.http1.1管道只部分處理了請求併發和包頭堵塞問題,客戶端多創建TCP鏈接,減小延遲併發
3.報頭字段常常重複和冗長,數據包變大,容易形成初始TCP端口的堵塞,多創建幾個TCP鏈接優化
http2x協議解決之道:編碼
1.優化基礎鏈接的語義映射,例如同一個鏈接上創建交錯的請求和響應,使用高效率編碼的報頭字段htm
2.容許請求的優先級,讓更多重要的請求先完成資源
http2協議的特色:效率
1.http2中最基本的協議單位是幀。每一個幀都有不一樣的類型和用途。例如,報頭(HEADERS)和數據(DATA)幀組成了基本的http請求和響應。幀包含的HTTP報頭字段是壓縮的。HTTP請求有多是高度冗餘的,所以壓縮能顯著減小請求和響應的大小。基礎
2.請求多路複用:一個流上分配多個HTTP請求響應交換,流在很大程度上是相互獨立的,由於一個請求上
的阻塞和終止不會影響其餘請求的處理。
3.流量控制和優先級確保正確使用複用流,流量控制有助於確保只傳播接受須要的數據,優先級確保有限的資源能被重要的請求使用
4.添加了一種新的交互模式,即服務器能推送消息給客戶端。服務器推送容許服務端預測客戶端須要來發送
數據給客戶端,交換網絡使用以阻塞潛在的延遲增加。服務器經過複用一個以PUSH_PROMISE幀發送的請求來實現推送,而後服務端能夠在一個單獨的流裏面發送響應給這個合成的請求。