國內有哪些互聯網公司已經開始使用 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還處在前期推廣階段,目前的部署障礙主要有兩點:- HTTP2主流實現強制使用HTTPS,但大部分網站目前並不支持HTTPS,所以無法使用HTTP2.
- 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。比如下圖:淘寶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 協議?