HTTP/2.0研究對游戲適用性研究

HTTP2.0

HTTP/2(超文本傳輸協(xié)議第2版,最初命名為HTTP2.0),是HTTP協(xié)議的第二個主要版本。HTTP/2是HTTP協(xié)議自1999年HTTP1.1發(fā)布后的首個更新,主要基于SPDY協(xié)議。
HTTP2.0的特點(diǎn)是:在不改動HTTP語義、方法、狀態(tài)碼、URI及首部字段的情況下,大幅度提高了web性能。

HTTP站在TCP之上

理解http協(xié)議之前一定要對TCP有一定基礎(chǔ)的了解。HTTP是建立在TCP協(xié)議之上,TCP協(xié)議作為傳輸層協(xié)議其實離應(yīng)用層并不遠(yuǎn)。HTTP協(xié)議的瓶頸及其優(yōu)化技巧都是基于TCP協(xié)議本身的特性。比如TCP建立連接時三次握手有1.5個RTT(round-trip time)的延遲,為了避免每次請求的都經(jīng)歷握手帶來的延遲,應(yīng)用層會選擇不同策略的http長鏈接方案。又比如TCP在建立連接的初期有慢啟動(slow start)的特性,所以連接的重用總是比新建連接性能要好。

幀(frame)和流(stream)。

幀是最小的數(shù)據(jù)單位,每個幀會標(biāo)識出該幀屬于哪個流,流是多個幀組成的數(shù)據(jù)流。
所謂多路復(fù)用,即在一個TCP連接中存在多個流,即可以同時發(fā)送多個請求,對端可以通過幀中的表示知道該幀屬于哪個請求。在客戶端,這些幀亂序發(fā)送,到對端后再根據(jù)每個幀首部的流標(biāo)識符重新組裝。通過該技術(shù),可以避免HTTP舊版本的隊頭阻塞問題,極大提高傳輸性能。

多路復(fù)用的作用:

打開網(wǎng)頁的時候
在 HTTP/1.1 協(xié)議中 「瀏覽器客戶端在同一時間,針對同一域名下的請求有一定數(shù)量限制。超過限制數(shù)目的請求會被阻塞」。
傳統(tǒng)的HTTP1.1打開頁面時,需要請求多個資源,每個資源都要發(fā)送一個HTTP請求,這樣會阻塞。


6E3511AC-9F01-498C-A226-9007F23798DE.jpg

HTTP2.0會在同一時間發(fā)送多個frame,每個frame有自己的流,每個流是一個請求,但是每個frame是亂序發(fā)送的,需要服務(wù)器來自己組裝。


C6B41F55-F86A-49DE-ADBE-21C18CFBC31F.jpg

Headers的壓縮

前面提到過http1.x的header由于cookie和user agent很容易膨脹,而且每次都要重復(fù)發(fā)送。http2.0使用encoder來減少需要傳輸?shù)膆eader大小,通訊雙方各自cache一份header fields表,既避免了重復(fù)header的傳輸,又減小了需要傳輸?shù)拇笮 8咝У膲嚎s算法可以很大的壓縮header,減少發(fā)送包的數(shù)量從而降低延遲。

HTTP2.0結(jié)論

HTTP2.0和WS是兩個不同的東西,WS是基于HTTP1.1之上的,并且阿里云SLB上的WS也是約束ECS后端需要采用HTTP/1.1
HTTP2.0和WS雖然都是用幀的方式來傳輸數(shù)據(jù),但是他們有各自的幀格式,不能共用。
WS協(xié)議是一個HTTP/1.1的協(xié)議頭握手之后,后面采用WS幀的格式來通信,主要用于長連接通信
HTTP2.0是將所有的Headers和body拆開來壓縮之后,采用HTTP/2.0格式的幀來通信,并且會將這些幀亂序發(fā)送,相當(dāng)于一個協(xié)議被拆解成多個亂序的幀,服務(wù)器收到幀之后,需要根據(jù)幀頭部的SteamID來自行組裝,最終組裝成一個完整的協(xié)議。在 HTTP/1.1 協(xié)議中 「瀏覽器客戶端在同一時間,針對同一域名下的請求有一定數(shù)量限制。超過限制數(shù)目的請求會被阻塞」。HTTP2.0的多路復(fù)用是為了解決web請求復(fù)數(shù)資源的問題
參考:
阿里云HTTP/2.0支持
HTTP/2.0相比HTTP1.1有什么改進(jìn)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容