免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
HTTP/2 資料匯總

HTTP/2 資料匯總

隨著今年 5 月 14 日 HTTP/2 協(xié)議正式版的發(fā)布,越來越多的網(wǎng)站開始部署 HTTP/2 了。我對 HTTP 協(xié)議一直都比較有興趣,本文匯總一些關(guān)于 HTTP/2 的資料以及我寫過的文章,會持續(xù)更新。如果大家有任何問題,歡迎留言交流探討。

協(xié)議

HTTP/2 協(xié)議由以下兩個 RFC 組成:

網(wǎng)上有一份由百度 FEX 翻譯的「h2-13 中文版」,更新于一年前,也可以看看。h2-13 說明這是協(xié)議的第 13 版草案,HTTP/2 一共經(jīng)歷了 00~17 共 18 版草案才正式發(fā)布。

很多支持 HTTP/2 的 Web 服務(wù)器和客戶端,都會標(biāo)注出自己支持的具體版本,例如 h2、h2-14,分別表示自己支持正式版、第 14 版草案。有時候還會看到某個軟件寫著支持 h2c,這是指它支持運行于非加密通道之上的 HTTP/2(HTTP/2 Cleartext)。

HTTP/2 協(xié)議是從 SPDY 演變而來,SPDY 已經(jīng)完成了使命并很快就會退出歷史舞臺(例如 Chrome 將在「2016 年初結(jié)束對 SPDY 的支持」;Nginx 在今年年底正式支持 HTTP/2 后,也不再支持 SPDY),故本文不再討論 SPDY。

在「HTTP/2 官網(wǎng)」可以找到更多有關(guān) HTTP/2 協(xié)議的資料。

部署

根據(jù) caniuse 的統(tǒng)計,目前支持 HTTP/2 的瀏覽器有 Chrome 41+、Firefox 36+、Safari 9+、Windows 10 上的 IE 11 和 Edge。服務(wù)器方面則有 F5、H2O、nghttp2 等數(shù)十種選擇,各種語言實現(xiàn)的都有。Nginx 則相對謹(jǐn)慎一些,在「本月初才提供對 HTTP/2 的實驗性支持」,年底才會正式支持。這里有一份「HTTP/2 服務(wù)器及客戶端」的完整清單。

Akamai 這個頁面」提供了 HTTP/1 和 HTTP/2 的對比,大家可以用自己的瀏覽器測試一下。

HTTP/2 協(xié)議本身并沒有要求必須基于 TLS 部署,但是 Chrome 和 Firefox 這兩大瀏覽器均表示只支持 HTTP/2 Over TLS。這樣做一方面更安全,另一方面利用 TLS 的加密機制可以更好地穿透網(wǎng)絡(luò)中間節(jié)點。

所以如果要部署 HTTP/2,首先需要將網(wǎng)站升級為 HTTPS。這個過程涉及到購買證書、生成證書和配置 Web 服務(wù)器等幾個步驟,網(wǎng)上很多教程,這里略過。有兩點需要注意:1)選擇層級少的證書(點擊 Chrome 地址欄的綠色小鎖,查看證書信息就可以看到層級);2)一定不要使用 SHA1 算法的證書。

本博客先后使用過 H2O 和 Nginx 這兩個服務(wù)器提供 HTTP/2 服務(wù),下面是具體的介紹:

如果你在使用 Apache,可以參考這篇文章啟用 HTTP/2。

另外,現(xiàn)在國外一些 CDN 也開始支持 HTTP/2 了,例如 KeyCDN,可以根據(jù)自己實際需要選用。KeyCDN 寫過一篇描述自家和全球 HTTP/2 部署情況統(tǒng)計的文章:HTTP/2 Statistics: KeyCDN Report on HTTP/2 Distribution。

HTTP/2 協(xié)議中對 TLS 有了更嚴(yán)格的限制:例如 HTTP/2 中只能使用 TLSv1.2+,還禁用了幾百種 CipherSuite。如果你遇到了啟用 HTTP/2 導(dǎo)致網(wǎng)站打不開的問題,請參考這篇文章。

優(yōu)化

將網(wǎng)站升級為 HTTPS 之后,多了 TLS 握手過程,之后的全部流量都會加密,如果沒有做好優(yōu)化肯定會比之前更慢。實際上,現(xiàn)在 TLS 已經(jīng)很快了,這里有一個性能專家 igrigorik 建立的網(wǎng)站:Is TLS Fast Yet?,可以關(guān)注下。

下面幾篇對 Nginx 的配置心得,是我在本博客實踐之后寫的,可以先看看:

HTTP/2 究竟會給 WPO(Web Performance Optimization)帶來什么,我也寫了一系列文章來介紹:

在 Velocity 2015 · SC 會議上,來自 Google 的 Ilya Grigorik 分享了「HTTP/2 is here, let's optimize! - Yesterday's perf best-practices are today's HTTP/2 anti-patterns」話題,重點講述 HTTP/2 與 HTTP/1 關(guān)于 WPO 的相同和不同之處,值得推薦。

HTTP/2 中的 Server Push,可以減少網(wǎng)絡(luò)延遲對性能帶來的影響,優(yōu)化首次訪問速度。但它可能造成流量浪費,具體細(xì)節(jié)請看我的這兩篇文章:

HTTP/2 中的頭部壓縮,可以減少頭部體積,提高傳輸效率。有關(guān)這項技術(shù)原理和實現(xiàn)的詳細(xì)介紹,請看我的這篇文章:

目前我沒有找到只針對 HTTP/2 的性能測試工具,下面在線工具的結(jié)果可以作為參考:

  • Qualys SSL Server Test,用于測試 SSL 服務(wù)端;
  • WebPagetest,老牌網(wǎng)站性能測試工具;
  • GTmetrix,使用 PageSpeed、YSlow 和其他工具全面測試網(wǎng)站性能;

下面這個工具可以給出一個網(wǎng)站分別在 HTTP/1 和 HTTP/2 下的加載速度對比(當(dāng)然,待測試網(wǎng)站必須同時支持 HTTP/1 和 HTTP/2):

調(diào)試

不同于 HTTP/1 的文本格式報文,HTTP/2 傳輸?shù)亩际嵌M制幀,調(diào)試起來要麻煩一些。

首先,要辨別某個網(wǎng)站是否啟用了 HTTP/2,可以通過瀏覽器開發(fā)工具的「網(wǎng)絡(luò)」面板中的 Protocol 字段查看。也可以通過擴展在瀏覽器地址欄顯示當(dāng)前的協(xié)議類型,HTTP/2 指示器擴展:Chrome 版、Firefox 版。

在 Chrome 地址欄輸入chrome://net-internals/#http2,打開 Chrome 自帶的 HTTP/2 查看工具,可以很方便地查看 HTTP/2 幀信息。

新版 Wireshark(dev 1.99)也可以調(diào)試 HTTP/2,詳細(xì)介紹請查看「官網(wǎng) Wiki」和我的這篇文章:調(diào)試 HTTP/2 流量。

更多調(diào)試工具可以在 CloudFlare 這篇文章里找到:Tools for debugging, testing and using HTTP/2

書籍

以下書籍都有可供免費閱讀的電子版:

最近發(fā)現(xiàn)一個 HTTP/2 日文網(wǎng)站:http2.info,有大量非常有用的資料,可惜看不懂日語,不知道有人愿意牽頭做 HTTP/2 的中文本地化工作不?

最后放上我最近做的一個關(guān)于 HTTP/2 的分享:《HTTP/2:新的機遇與挑戰(zhàn)》。

本文鏈接:,參與評論

--EOF--

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Google打算用QUIC協(xié)議替代TCP/UDP | 36氪
使用 HTTP/2 提升性能的7個建議
提升網(wǎng)站流量的HTTP/2技巧
Web 應(yīng)用性能提升 10 倍的 10 個建議
提升網(wǎng)站性能開發(fā)的10個技巧
借助HTTP/2打造更迅捷的Web體驗
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服