關於HTTP2 0優點的介紹

2022-09-22 19:57:18 字數 1501 閱讀 2496

使用http2.o測試便可看出http2.0比之前的協議在效能上有很大的提公升。下面總結了http2.0協議的幾個特性。

1.多路復用 (multiplexing)

多路復用允許同時通過單一的 http/2 連線發起多重的請求-響應訊息。在 http/1.1 協議中瀏覽器客戶端在同一時間,針對同一網域名稱下的請求有一定數量限制。超過限制數目的請求會被阻塞。這也是為何一些站點會有多個靜態資源 cdn 網域名稱的原因之一,拿 twitter 為例,目的就是變相的解決瀏覽器針對同一網域名稱的請求限制阻塞問題。而 http/2 的多路復用(multiplexing) 則允許同時通過單一的 http/2 連線發起多重的請求-響應訊息。因此 http/2 可以很容易的去實現多流並行而不用依賴建立多個 tcp 連線,http/2 把 http 協議通訊的基本單位縮小為乙個乙個的幀,這些幀對應著邏輯流中的訊息。並行地在同乙個 tcp 連線上雙向交換訊息。

2. 二進位制分幀

http/2在 應用層(http/2)和傳輸層(tcp or udp)之間增加乙個二進位制分幀層。在不改動 http/1.x 的語義、方法、狀態碼、uri 以及首部欄位的情況下, 解決了http1.1 的效能限制,改進傳輸效能,實現低延遲和高吞吐量。在二進位制分幀層中, http/2 會將所有傳輸的資訊分割為更小的訊息和幀(frame),並對它們採用二進位制格式的編碼 ,其中 http1.x 的首部資訊會被封裝到 header frame,而相應的 request body 則封裝到 data frame 裡面。

http/2 通訊都在乙個連線上完成,這個連線可以承載任意數量的雙向資料流。在過去, http 效能優化的關鍵並不在於高頻寬,而是低延遲。tcp 連線會隨著時間進行自我調諧,起初會限制連線的最大速度,如果資料成功傳輸,會隨著時間的推移提高傳輸的速度。這種調諧則被稱為 tcp 慢啟動。由於這種原因,讓原本就具有突發性和短時性的 http 連線變的十分低效。http/2 通過讓所有資料流共用同乙個連線,可以更有效地使用 tcp 連線,讓高頻寬也能真正的服務於 http 的效能提公升。

這種單連線多資源的方式,減少服務端的鏈結壓力,記憶體占用更少,連線吞吐量更大;而且由於 tcp 連線的減少而使網路擁塞狀況得以改善,同時慢啟動時間的減少,使擁塞和丟包恢復速度更快。

3. 首部壓縮(header compression)

http/1.1並不支援 http 首部壓縮,為此 spdy 和 http/2 應運而生, spdy 使用的是通用的deflate 演算法,而 http/2 則使用了專門為首部壓縮而設計的 hpack 演算法。

4. 服務端推送(server push)

服務端推送是一種在客戶端請求之前傳送資料的機制。在 http/2 中,伺服器可以對客戶端的乙個請求傳送多個響應。server push 讓 http1.x 時代使用內嵌資源的優化手段變得沒有意義;如果乙個請求是由你的主頁發起的,伺服器很可能會響應主頁內容、logo 以及樣式表,因為它知道客戶端會用到這些東西。這相當於在乙個 html 文件內集合了所有的資源,不過與之相比,伺服器推送還有乙個很大的優勢:可以快取!也讓在遵循同源的情況下,不同頁面之間可以共享快取資源成為可能。

HTTP 2 0 協議詳解

無需 作者修改任何內容 把部署複雜性降至最低,無需變更網路基礎設施 與開源社群合作開發這個新協議 收集真實性能資料,驗證這個實驗性協議是否有效。解決 http 中的 隊首阻塞 問題 並行操作無需與伺服器建立多個連線,從而改進 tcp 的利用率,特別是擁塞控制方面 保持 http 1.1 的語義,利用...

快速入門http2 0

自 想要了解乙個事物,首先就要知道它是什麼。簡單來說,http 2 超文字傳輸協議第2版,最初命名為http2.0 是http協議的第二個主要版本。http 2是http協議自1999年http1.1發布後的首個更新,主要基於spdy協議。http2.0的特點是 在不改動http語義 方法 狀態碼 ...

HTTP 2 0 的那些事

spdy協議是google提出的基於傳輸控制協議 tcp 的應用層協議,通過壓縮 多路復用和優先順序來縮短載入時間。該協議是一種更加快速的內容傳輸協議,於2009 年年中發布。也可以把spdy看作是http 2的前身。spdy並不是首字母縮略字,而僅僅是 speedy 的縮寫。spdy現為googl...