http2的一些新特性

2021-07-04 03:15:31 字數 1219 閱讀 5088

mark nottingham寫了一篇部落格對新協議中9件值得期待的事情發表了看法:

使用與http相同的api。就像mark提到的:「要想讓http/2成功,就必須讓它能在現有的web中正常工作。因此我們所做的努力是讓現有的http更好地工作,而不是去改變這個協議。」儘管也許有機制能讓你優化一些新功能,但一般情況下不會有新的方法、header和狀態碼。

更廉價的請求。「http/2使用多路技術,允許多個訊息在乙個連線上同時交差,因此乙個大的響應(或者乙個需要消耗伺服器很長時間的響應)並不會阻止其它的響應。此外,它增加了頭壓縮(header compression),因此即使非常小的請求,其請求和響應的header都只會占用很小比例的頻寬。這對於移動平台來說,是非常重要的。因為太大的請求header,再加上頁面所需的大量資源經過幾個來回後,很可能導致頁面載入失敗。」

新協議對網路和服務提供了更友好的設計。「http/2將使用更少的連線,因此伺服器和網路的負載都將減少。這對於越來越擁擠的網路來說具有非常重要的意義。http/1採用多連線的方式實現並行資料傳輸,加劇了網路擁擠的問題。」http/2對每台主機只需乙個單獨連線,而且只要可能,應盡量將多個**合併到一台主機上。

http/2引入了「服務端推(server push)」的概念,它允許服務端在客戶端需要資料之前就主動地將資料傳送到客戶端快取中,從而提高效能。當然,在某些場景下,客戶端可能並不希望這麼做,因此http/2也允許客戶端拒絕。

http/2提供更多的加密支援,mark早前的文章說明了其優缺點。

別期望http/2能夠奇蹟般地提公升服務端或客戶端的效能。「關於新協議,更準確的看法是,它清除了一些制約效能的重要障礙。只有當客戶端和服務端都學會了如何以及何時使用它的先進特性,效能才會開始逐漸提公升。」正如mark指出的,當今絕大部分**是基於http/1開發的,都不可避免地受其限制。只有經過時間推移,當它們經過重新配置後,才能發揮http2所提供的先進特性。「此外,http/2的網路友好特性的缺點是可能導致tcp擁塞控制變得更加突出。因為瀏覽器對每台主機只建立乙個連線,初始視窗和丟包將會更加明顯。」

http/2並不是發展的終點,團隊已經在考慮後續的發展。「現在人們非常期待http/2正式發布,因此一些高階(和實驗性)的特性並沒有加入到此版本中。例如推送tls認證和dns條目到客戶端,兩者都能夠提公升效能。如果實驗順利的話,也許http/3會包含這些。當然,http/3也可能是個解決所有目前未發現的問題的版本。但到目前為止,信心正在不斷地增長。無論是社群發布的spdy的體驗,還是http/2的各種實現都表明http/2已經接近完成了。」

一文讀懂 HTTP 2 特性

http 2 是 http 協議自 1999 年 http 1.1 發布後的首個更新,主要基於 spdy 協議。由網際網路工程任務組 ietf 的 hypertext transfer protocol bis httpbis 工作小組進行開發。該組織於2014年12月將http 2標準提議遞交至i...

HTTP 2協議 特性掃盲篇

隨著web技術的飛速發展,1999年制定的http 1.1已經無法滿足大家對效能的要求,google推出協議spdy,旨在解決http 1.1中廣為人知的效能問題。spdy得到了chrome firefox和opera的支援,很多大型 如谷歌 twitter facebook 都對相容客戶端使用sp...

HTTP 2協議 特性掃盲篇

隨著web技術的飛速發展,1999年制定的http 1.1已經無法滿足大家對效能的要求,google推出協議spdy,旨在解決http 1.1中廣為人知的效能問題。spdy得到了chrome firefox和opera的支援,很多大型 如谷歌 twitter facebook 都對相容客戶端使用sp...