Google Chrome 將會用 HTTP/2 取代 SPDY

Google Chrome 將會在接下來幾個星期的 40 版支援 HTTP/2 (現在已經是 40 版了,所以照這個說法應該是 41 一定會有?),並且在 2016 年拿掉對 SPDY 的支援:「Hello HTTP/2, Goodbye SPDY」。

接下來又是大量的 migrate 了:

We plan to remove support for SPDY in early 2016, and to also remove support for the TLS extension named NPN in favor of ALPN in Chrome at the same time. Server developers are strongly encouraged to move to HTTP/2 and ALPN.

在「Implementations」這邊可以看到 HTTP/2 支援的程度,包括了 client 與 server 的部份。

換到 nginx 1.6 後把 OCSP stapling 與 SPDY 打開...

剛剛把 nginx 換到 ppa 的版本 (目前是 1.6),然後打開 OCSP staplingSPDY,速度明顯有感覺提昇...

OCSP stapling:

SPDY:

目前有想到而且能處理的都做的差不多了 :p

Domain Sharding 的調整...

Domain Sharding 是針對以往瀏覽器常見的「加速技巧」(workaround),目的是突破瀏覽器對單一 domain 的最大連線速限制。像是 IE{6,7} 在 HTTP/1.1 上的限制是 2。

Steve Souders 在 2008 年整理的「Roundup on Parallel Connections」就有列出當時各瀏覽器的限制。而在 BrowserscopeNetwork 可以看到更多新的數字。

而隨著環境一直在改變,桌機限制的連線數也逐漸調高,以及 SPDY 的發展,再加上行動平台的比重愈來愈高,本來的 Domain Sharding 技巧需要重新審視。

Etsy 的「Reducing Domain Sharding」這篇文章中提到他們決定減少 Domain Sharding 的數量 (由四個變成兩個),而改善了反應時間:

  • 在圖片較多的頁面上約減少 50ms~80ms,在一般頁面則是減少 30ms~50ms。
  • 在行動平台上減少 500ms。

這兩個改善使得每次造訪的點閱率多了 0.27 page。

尤其是行動平台上對 Domain Sharding 的敏感程度,讓現在設計網站的人要考慮的更多了...

Facebook 將全面支援 SPDY...

在「Facebook Adds SPDY Support!」看到 Facebook 將全面支援 SPDY 的消息。

Facebook 的 *.fbcdn.net 在二月先上 SPDY 了:

I managed to find this image uploaded by Varun Kumar on February 1 2013, showing that Facebook’s CDN hostname *.fbcdn.net was serving static resources like images and JavaScript via SPDY.

m.facebook.com (行動版) 也上 SPDY 了,不過要 Android 3+ 才支援。

目前 SPDY 主要支援的平台是 Firefox 13+ (11+ 支援,但預設沒開),Google Chrome 與 Android 3+,市占率大約 50%... 好像也不少?(參考:Can I use SPDY networking protocol?)

Firefox 11 將會支援 SPDY Protocol

Firefox 預定在 11 (現在是 8) 支援 SPDY Protocol:「(SPDY) Implement SPDY protocol」,除了 Google Chrome 自家瀏覽器支援外,總算有個大的也要支援了...

所以現在除了 Chrome、Kindle Fire 以外,又多了 Firefox 支援...

不過 ApacheF5 什麼時候會支援呢... mod-spdy 看起來... 呃...