http2.0與http1.1相比有以下優點golang
可在
https://http2.golang.org/gophertiles?latency=30
下對比http1與http2的區別。算法
多路複用容許同時經過一個http鏈接發起多個的請求-響應消息。 服務器
由上圖可見全部請求有相同的connect idmarkdown
HTTP2.0使用HPACK算法對header的數據進行壓縮,這樣數據體積小了,在網絡上傳輸就會更快。網絡
HTTP1.x的解析是基於文本。基於文本協議的格式解析存在自然缺陷,文本的表現形式有多樣性,要作到健壯性考慮的場景必然不少,二進制則不一樣,只認0和1的組合。基於這種考慮HTTP2.0的協議解析決定採用二進制格式,實現方便且健壯。spa
服務器能夠在同一TCP鏈接中將客戶端未請求的數據同原始請求的數據一同發送過來,一個請求多個響應,在多路複用的基礎上又減小了客戶端請求的時間。下圖可見在initialtor
列顯示爲push
3d