國內有哪些互聯網公司已經開始使用 HTTP/2 了?

HTTP/2 正式發表有一段時間了,現代瀏覽器也基本上支持了這項技術。

那麼國內有哪些互聯網公司已經開始使用 HTTP/2 ,具體情況又是如何呢?

Can I use... Support tables for HTML5, CSS3, etc


HTTP2的實現已經比較成熟,包括google, twitter, akamai等早就支持HTTP2了。各種支持的庫和軟體也非常多,包括nginx, chrome, ios9等都支持HTTP2.具體實現可以參考HTTP2的官方WIKI:Implementations · http2/http2-spec Wiki · GitHub

但是考慮到HTTP2還處在前期推廣階段,目前的部署障礙主要有兩點:

  1. HTTP2主流實現強制使用HTTPS,但大部分網站目前並不支持HTTPS,所以無法使用HTTP2.
  2. HTTP2的前身是SPDY,HTTP2想要完全取代SPDY存在一個過渡期。這裡同樣有兩個問題:
  • 客戶端目前支持SPDY的份額比HTTP2 要大,比如Android絕大部分系統不支持HTTP2,只支持SPDY。iOS9以下只支持SPDY。iOS9.2現在都支持HTTP2.
  • 服務端程序比如nginx,1.9.5以下版本只支持SPDY,1.9.5及以上版本只支持HTTP2。

如果你是一個使用NGINX的網站主,知道支持SPDY的客戶端數量要比HTTP2大,同時兩個協議的特性又差不多,如果只能支持一個協議,你會優先支持哪個呢?

當然HTTP2的普及只是時間問題,今年上半年(國內數據),HTTP2的支持率就會超過SPDY。而google也於今天宣布chrome將於今年5.15號徹底移除對SPDY的支持。

國內的步伐相對要慢一些,目前全站支持HTTPS的網站都不多,不過好在HTTPS已經開始在國內流行,2015年3月份百度開始率先支持HTTPS,但不支持SPDY。下半年阿里的淘寶和天貓也開始支持HTTPS,同時支持SPDY3.1。

而騰訊也已經在進行全站部署HTTPS,並且會同時支持SPDY3.1和HTTP2。敬請期待。

如果樓主想知道哪些網站支持HTTP2或者SPDY,有兩個簡單的辦法:

1,使用瀏覽器插件HTTP/2 and SPDY indicator :: Firefox 附加元件訪問這些網站,會有提示這個網站是否支持HTTP2或者SPDY。比如下圖:

2,如果想使用工具大規模抓取網站的數據,那麼就看返回的server hello是否包含了alpn相關的欄位。


淘寶M站已經支持了,京東M站正在逐步支持,像HTTP/2這種底層網路技術更新得移動端對網路延遲特別敏感的業務先行,PC端不是有線就是WiFi用戶感知的網路提示不明顯。


淘寶天貓都用了h2

說錯了一點,淘寶首頁竟然還沒切h2,我擦


http/2的普及任重道遠,不是短短几年就能普及的。

目前的http/2是架構在https之上的,技術上雖然沒什麼難度了,但普及起來還存在一些困難。

本人去年粗略研究過,下面簡單說下門戶網站相關的困難。

1,兼容性

並不是所有的瀏覽器都支持http/2,也並不是所有的web伺服器都支持http/2,web伺服器等app的升級也許容易,但pc端瀏覽器的升級會慢很多,這部分用戶不可能拋棄吧。當然,對於不支持2的,是會轉用https的。

2,證書隔離與域名收斂

SNI解決了一個ip埠下多個證書的衝突問題,但對於門戶網站來說,二級域名和三級域名非常多,這些域名有自己的,有兄弟部門的,有合作公司的,即使全部用泛域名證書,牽涉到的證書也有數十個。這裡就有證書費用和授權方面的商務風險。

如果個別域名沒有啟用https,瀏覽器就會彈出可惡的警告。app也許有些方法可屏蔽類似警告,但瀏覽器不行。

另外,你願意為圖片,動畫等內容也啟用https嗎?

3,內容修改

門戶網站舊內容如何支持https呢?這是個難題,幾十T的內容重新發布,這是不可能的事情。用https代理在7層去替換「htpp:」關鍵字是個簡單的方案,但萬一用了相對路徑呢,或者是js里的變數拼湊的,可能就存在遺漏的麻煩。

4,性能優化

硬體性能已經大大提高,也可使用https硬體加速卡之類的,可以修改代碼用專門的key伺服器專門來處理私鑰,但無論怎麼做,性能總是比不上同等條件下的http。

5,內容監管和流量劫持

大家呼籲啟用https,主要是保護自己的內容不被篡改。國內運營商太無恥了,為了避免流量跨省減少費用,動不動就劫持流量,甚至將廣告或者內容替換成自己的。

但是,啟用https並不能防止運營商篡改內容,雖然傳輸過程中是加密的,只是短期內提升了篡改的難度而已。

另外,這不是給gfw找麻煩嗎?

國內的淘寶和百度已經支持了https,啟用http2也是輕而易舉的事情, 另外還有牽涉到交易安全的銀行券商電商等部分域名,也有不少支持https的,雖然多花了不少錢,但屬於小意思。

據我所知,門戶網站目前還沒有啟用https的。如果大哥不身體力行,小弟會身先士卒么?


http2在前端具體需要如何實現?


國內很多主流的互聯網網站應該都是後台使用了HTTP/2了吧!

明月學習筆記Blog - 折騰LNMP的記錄微博客

我的博客也使用HTTP/2了,歡迎圍觀!


發現豆瓣,淘寶,知乎,qq郵箱已經開始用h2了, 只在資源伺服器上開啟, 思路不錯啊.

話說baidu,163, qq, sohu這種門戶網站竟然還沒用.


推薦閱讀:

如何使用Nginx轉發非80埠的非HTTP請求?
什麼是HTTP隧道,怎麼理解HTTP隧道呢?
基於 HTTP 連接下 token 安全問題?
如何讓html img標籤發送的http請求附加某個http header?
怎樣學習 HTTP 協議?

TAG:前端開發 | HTTP | 互聯網公司 | 互聯網技術 |