Skip to main content

[Note] HTTP/2

HTTP/1.1#

  • 效能較差:每一次向伺服器發送請求時,都需要開啟新的 TCP 連線
  • 容量較大:Headers 都是以純文字傳送,沒有進行壓縮
  • 原始僅支援 Request 和 Response 的機制,Server 無法主動對 client 推送訊息

HTTP/2#

然而,當今的 Web 光是載入一頁就會發送多個 request 來獲取 assets,過去 HTTP/1.1 的傳輸方式到了當今的 Web 已經無法處理得又快又好。

  • 效能提升:HTTP/2 支援 multiplexing,也就是 client 和 server 可以在相同的 TCP 連線中以平行處理(parallel)的方式推送訊息。
  • 效能提升:HTTP/2 支援 server push,也就是 client 送出一次 request 後,server 即可透過 stream 的方式向 client 傳輸多個訊息。
  • 減少頻寬消耗:可以壓縮 Header 的內容,以減少頻寬流量消耗
  • 減少頻寬消耗:使用 binary 的方式傳輸資料
  • 安全性提升:SSL 不再是必須,雖然預設會建議使用

參考資料#

Last updated on