HTTP 2 0 的那些事

2021-09-09 05:25:52 字數 1812 閱讀 8085

spdy協議是google提出的基於傳輸控制協議(tcp)的應用層協議,通過壓縮、多路復用和優先順序來縮短載入時間。該協議是一種更加快速的內容傳輸協議,於2009 年年中發布。也可以把spdy看作是http/2的前身。spdy並不是首字母縮略字,而僅僅是"speedy"的縮寫。spdy現為google的商標。2023年9月,google 宣布了計畫,移除對spdy的支援,擁抱 http/2,並將在chrome 51中生效,spdy在http/2普及的過程中將慢慢退出歷史舞台.

spdy維基百科詞條

http/2(超文字傳輸協議第2版,最初命名為http 2.0),簡稱為h2(基於tls/1.2或以上版本的加密連線)或h2c(非加密連線),是http協議的的第二個主要版本,使用於全球資訊網。http/2是http協議自2023年http 1.1發布後的首個更新,主要基於spdy協議。它由網際網路工程任務組(ietf)的hypertext transfer protocol bis(httpbis)工作小組進行開發。該組織於2023年12月將http/2標準提議遞交至iesg進行討論,於2023年2月17日被批准。http/2標準於2023年5月以rfc 7540正式發表。http/2的標準化工作由chrome、opera、firefox、internet explorer 11、safari、amazon silk及edge等瀏覽器提供支援。多數主流瀏覽器已經在2023年底支援了該協議。此外,根據w3techs的資料,在2023年5月,在排名前一千萬的**中,有13.7%支援了http/2。

http/2 相比 http/1.1 的修改並不會破壞現有程式的工作,但是新的程式可以藉由新特性得到更好的速度。

http/2 保留了 http/1.1 的大部分語義,例如請求方法、狀態碼乃至uri和絕大多數http頭部字段一致。而 http/2 採用了新的方法來編碼、傳輸客戶端——伺服器間的資料。

http/2的開發基於spdy進行躍進式改進。在諸多修改中,最顯著的改進在於,http/2使用了乙份經過定製的壓縮演算法,基於霍夫曼編碼,以此替代了spdy的動態流壓縮演算法,以避免對協議的oracle攻擊——這一類攻擊以crime為代表。此外,http/2禁用了諸多加密包,以保證基於tls的連線的前向安全。

多路復用允許同時通過單一的 http/2 連線發起多重的請求-響應訊息,多路復用允許同時通過單一的 http/2 連線發起多重的請求-響應訊息.

在二進位制分幀層上,http 2.0 會將所有傳輸的資訊分割為更小的訊息和幀,並對它們採用二進位制格式的編碼 ,其中http1.x的首部資訊會被封裝到headers幀,而我們的request body則封裝到data幀裡面。

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

服務端推送是一種在客戶端請求之前傳送資料的機制。在 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語義 方法 狀態碼 ...

你了解HTTP2 0嗎?

作為乙隻前端開發?http是我們知識地圖裡面必不可少的一部分,也是面試必問知識點。http2號稱可以讓我們的應用更快 更簡單 更穩定,它完美解決了1.1版本的諸多問題,本文和大家一起聊聊http2的改進點。正式講http2之前我們先講一下http的發展史。現在我們先不聊http2,看一下http發展...