一文了解阿里雲CDN HTTP2 0

2021-09-13 12:43:17 字數 2189 閱讀 8173

要了解http2.0,先了解一下http超文字傳輸協議的歷史(hypertext transfer protocol),這是為了實現網際網路上內容傳輸提出的協議,其歷史伴隨著網際網路的發展。整個http協議發展歷程如下:

一句話介紹:

http 0.9:基於get請求的文字傳輸協議

https:安全的http傳輸協議

http 1.0:增加http頭、擴充套件put、post等方法

http 1.1:長連線、流水線支援,最廣泛使用的http傳輸協議

spdy:針對http的增強,工作在ssl層之上、http層之下

根據w3techs統計,到現在為止,網際網路上前1000萬的**,已經有27.9%支援了http2.0。

內容安全(security),因為http2.0是基於https的,天然具有安全特性,通過http2.0的特性可以避免單純使用https的效能下降。

二進位制格式(binary support),http1.x的解析是基於文字。http 2.0將所有的傳輸資訊分割為更小的訊息和幀,並對它們採用二進位制格式編碼,基於二進位制可以讓協議有更多的擴充套件性,比如引入了幀來傳輸資料和指令。

多路復用(multiplexing),這個功能相當於是長連線的增強,每個request可以隨機的混雜在一起,接收方可以根據request的id將request再歸屬到各自不同的服務端請求裡面。另外多路復用中,也支援了流的優先順序(stream dependencies),允許客戶端告訴server哪些內容是更優先順序的資源,可以優先傳輸。

header壓縮(header compression),http請求中header帶有大量資訊,而且每次都要重**送,http2.0使用編譯碼來header的傳輸,通訊雙方各自cache乙份header fields表,減少header的開銷。

服務端推送(server push),同spdy一樣,http2.0也具有server push功能。目前,有大多數**已經啟用http2.0,如** 利用chrome控制台可以檢視是否啟用http2.0:chrome://net-internals/#http2 可以看到當前頁面使用http2.0的情況:

目前阿里雲cdn已經全面支援http2.0,大部分主流瀏覽器也已經支援該功能,但是需要服務端改造後才能使用,不過如果你使用了阿里雲cdn,源站即便不支援也能夠享受http2.0的特性,目前在官網可以自助開啟:

1、 開啟https證書 因為http2.0是依賴於https的,在控制台開啟http2.0需要提前開啟https,目前阿里雲cdn已經支援免費證書功能,提前開啟該功能即可:

2、 開啟http2.0功能:

目前我們提供了乙個對比測試工具,可以比較直觀的看出來http1.1和http2.0的載入頁面的差異,針對180個小,http2.0顯示了強大的優勢,而且越是弱網環境,其加速效果就更明顯:

小夥伴也可以通過下面頁面,自己體驗本地使用http2.0和http1.1的對比效果:

spdy是google提出的用來解決老的http協議不足的一些新的方案,可以說是綜合了https和http兩者優點並加以改進的傳輸協議。實踐證明spdy解決了http的一些頑疾,在效能上提公升顯著,最終ietf(internet enginerring task force)正式考慮制定http2.0的計畫,最後決定以spdy為基礎起草http2.0,spdy的部分設計人員也被邀請參與了http2.0的設計。

google的測試表明,頁面載入時間相比於http1.x減少了64%:

閱讀原文

一文了解阿里雲CDN HTTP2 0

要了解http2.0,先了解一下http超文字傳輸協議的歷史 hypertext transfer protocol 這是為了實現網際網路上內容傳輸提出的協議,其歷史伴隨著網際網路的發展。整個http協議發展歷程如下 一句話介紹 http 0.9 基於get請求的文字傳輸協議 https 安全的ht...

一文了解南京雲棲阿里雲重磅產品發布

摘要 關於數位化轉型需要做什麼事情?昨天,雲棲大會 南京峰會期間,我們講了很多案例。近年來,在驅動中國的使命下,城市 交通 金融 工業 農業等各個領域都在不斷創新。在這個過程當中,雲計算大資料的產品發揮了非常重要的作用。sap雲解決方案 sap雲解決方案支援企業在阿里雲上部署 sap 關鍵業務,依託...

一文了解Flink State Backends

當我們使用flink進行流式計算時,通常會產生各種形式的中間結果,我們稱之為state。有狀態產生,就必然涉及到狀態的儲存,那麼flink中定義了哪些形式的狀態儲存呢,下面一一給大家介紹一下。顧名思義,memorystatebackend狀態後端是將狀態資料以object的形式存放於j a heap...