HTTPS SPDY和HTTP 2的效能比較

2021-07-25 09:57:36 字數 1017 閱讀 4793

firefox 35已於最近發布,新版本預設支援http/2協議(草案14版本),針對該公升級httpwatch也發布了相應的更新,使其能夠在firefox中支援http/2,由於google的web伺服器現在能夠同時支援http/2草案14版本和spdy協議,使得httpwatch能夠在同樣的web頁面上對比https、spdy和http/2的效能。

整個效能測試包含4個場景,使用的軟體為firefox和httpwatch,測試網頁為google uk首頁,比較的協議包括原生https、spdy/3.1和http/2協議,同時每乙個測試都是在沒有瀏覽器快取的firefox例項上執行的,雖然這些測試非常簡單,頁面也不複雜,但是這並不影響三種不同協議之間重大差異的比較。

第乙個測試通過乙個沒有內容的請求生成的頭資訊的大小來檢視三種協議的不同:

其中,「sent」列表示請求頭的大小,「received」列表示響應頭的大小,結果顯示,使用hpack演算法的http/2協議頭資訊最小。

web伺服器的響應由響應頭和編碼的響應內容兩部分組成。對於的請求,測試結果如下:

對於文字資源的請求,結果如下:

結果顯示,對於http/2協議的請求和響應資訊都最小,而對於文字資源,雖然http/2的請求資訊依然最小,但是響應資訊卻比spdy協議稍大一點。究其原因,這可能是由新增到http/2資料幀中的可選內邊距位元組造成的,而資源並不會使用內邊距。

http/1.1通過增加到每個主機的最大連線數來提高效能,而spdy和http/2則是通過使用多路復用技術在乙個單獨的tcp和ssl連線上支援併發,通過在乙個連線上一次性傳送多個請求來傳送或接收資料。該場景的測試結果如下:

spdy結果

http/2結果

https結果

頁面載入時間是乙個比較重要的效能指標,該測試使用了httpwatch中的「頁面載入」事件來檢視每種協議所需的時間,結果如下:

結果顯示,由於不支援頭資訊壓縮,並且缺少所需的額外tcp連線和ssl握手,原生https所需的時間最長,如果頁面更複雜,那麼差距會更明顯。同時,雖然http/2的響應訊息比spdy大,但是載入時間要比spdy短。

HTTPS SPDY和HTTP 2的效能比較

firefox 35發布新版本預設支援http 2協議 草案14版本 針對該公升級httpwatch也發布了相應的更新,使其能夠在firefox中支援http 2,由於google的web伺服器現在能夠同時支援http 2草案14版本和spdy協議,使得httpwatch能夠在同樣的web頁面上對比...

http1 和 http2 的區別

網路延遲問題主要由於隊頭阻塞 head of line blocking 導致頻寬無法被充分利用。隊頭阻塞是指當順序傳送的請求序列中的乙個請求因為某種原因被阻塞時,在後面排隊的所有請求也一併被阻塞,會導致客戶端遲遲收不到資料。由於報文header一般會攜帶 user agent cookie acc...

HTTP1和HTTP2的區別

缺陷 執行緒阻塞,在同一時間,同一網域名稱的請求有一定數量限制,超過限制數目的請求會被阻塞。2.http1.0 短連線 缺陷 瀏覽器與伺服器只保持短暫的連線,瀏覽器的每次請求都需要與伺服器建立乙個tcp連線 tcp連線的新建成本很高,因為需要客戶端和伺服器三次握手 伺服器完成請求處理後立即斷開tcp...