April 17, 2016

HTTP/2

HTTP/2(超文字傳輸協定第2版,最初命名為HTTP 2.0),是HTTP協議的的第二個主要版本,使用於全球資訊網。HTTP/2是HTTP協議自1999年HTTP 1.1發布後的首個更新,主要基於SPDY協定。它由網際網路工程任務組(IETF)的Hypertext Transfer Protocol Bis(httpbis)工作小組進行開發。(Wikipedia)

HTTP/2 最重要的功能是:

  1. 頭壓縮(Header Compression)
  • Cookie、Auth、HTST 再多 header 也沒問題了
  • 減少延遲
  1. 完全多路傳輸(Multiplexing)
  • 一個 TCP 連接就可以要求傳送多個文件了。HTTP request 不再阻塞。
  • 好處:開發者不需要合拼(concatenate)靜態文件(CSS、JS)
  1. 其它
  • 二進制傳輸
  • 伺服器 push

哪些游覽器支持 HTTP2 ?http://caniuse.com/#feat=http2

  • IE 11 (Windows 10)
  • Edge(Windows 10)
  • Firefox 36+
  • Google Chrome 41+
  • Safari (OS X 10.11+,iOS 9+)
  • Opera 28+
  • Chrome for Android

雖然 W3C 的 specs 沒要求開啓 TLS,但是主流的游覽器(Google Chrome、Firefox)選擇了要 HTTPS 才能用 HTTP2。游覽器不支持沒加密的 HTTP/2。