【每日一題】(42題)談?wù)勀銓ttp2.0的理解?

關(guān)注「松寶寫代碼」籽御,精選好文练慕,每日一題

作者: saucxs

愿努力拼搏的你,都能在前進的道路上有所收獲技掏!


一铃将、前言

HTTP 2.0 相比于 HTTP 1.X,可以說是大幅度提高了 web 的性能零截。

在 HTTP 1.X 中麸塞,為了性能考慮,我們會引入雪碧圖涧衙、將小圖內(nèi)聯(lián)、使用多個域名等等的方式奥此。這一切都是因為瀏覽器限制了同一個域名下的請求數(shù)量弧哎,當(dāng)頁面中需要請求很多資源的時候,隊頭阻塞(Head of line blocking)會導(dǎo)致在達到最大請求數(shù)量時稚虎,剩余的資源需要等待其他資源請求完成后才能發(fā)起請求撤嫩。

二、HTTP 2.0

感受下 HTTP 2.0 比 HTTP 1.X 到底快了多少蠢终,地址:https://http2.akamai.com/demo

image

在 HTTP 1.X 中序攘,因為隊頭阻塞的原因茴她,你會發(fā)現(xiàn)請求是這樣的

image

在 HTTP 2.0 中,因為引入了多路復(fù)用程奠,你會發(fā)現(xiàn)請求是這樣的

image

三丈牢、HTTP 2.0核心

3.1 二進制傳輸

HTTP 2.0中所有加強性能的核心帶你在于此--二進制傳輸。

之前的HTTP的版本中瞄沙,我們傳輸數(shù)據(jù)方式--文本傳輸己沛。

在HTTP 2.0中引入了新的編碼機制,所有傳輸?shù)臄?shù)據(jù)都會被分隔距境,并采用二級制格式編碼申尼。

image

3.2 多路復(fù)用

在 HTTP 2.0 中,有兩個非常重要的概念垫桂,分別是幀(frame)和流(stream)师幕。

幀代表著最小的數(shù)據(jù)單位,每個幀會標(biāo)識出該幀屬于哪個流诬滩,流也就是多個幀組成的數(shù)據(jù)流霹粥。

多路復(fù)用,就是在一個 TCP 連接中可以存在多條流碱呼。換句話說蒙挑,也就是可以發(fā)送多個請求,對端可以通過幀中的標(biāo)識知道屬于哪個請求愚臀。通過這個技術(shù)忆蚀,可以避免 HTTP 舊版本中的隊頭阻塞問題,極大的提高傳輸性能姑裂。

image

3.3 Header壓縮

在 HTTP 1.X 中馋袜,我們使用文本的形式傳輸 header,在 header 攜帶 cookie 的情況下舶斧,可能每次都需要重復(fù)傳輸幾百到幾千的字節(jié)欣鳖。

在 HTTP 2.0 中,使用了 HPACK 壓縮格式對傳輸?shù)?header 進行編碼茴厉,減少了 header 的大小泽台。并在兩端維護了索引表,用于記錄出現(xiàn)過的 header 矾缓,后面在傳輸過程中就可以傳輸已經(jīng)記錄過的 header 的鍵名怀酷,對端收到數(shù)據(jù)后就可以通過鍵名找到對應(yīng)的值。

3.4 服務(wù)端push

在 HTTP 2.0 中嗜闻,服務(wù)端可以在客戶端某個請求后蜕依,主動推送其他資源。

可以想象以下情況,某些資源客戶端是一定會請求的样眠,這時就可以采取服務(wù)端 push 的技術(shù)友瘤,提前給客戶端推送必要的資源,這樣就可以相對減少一點延遲時間檐束。當(dāng)然在瀏覽器兼容的情況下你也可以使用 prefetch 辫秧。

3.5 QUIC

這是一個谷歌出品的基于 UDP 實現(xiàn)的同為傳輸層的協(xié)議,目標(biāo)很遠(yuǎn)大厢塘,希望替代 TCP 協(xié)議茶没。

1、該協(xié)議支持多路復(fù)用晚碾,雖然 HTTP 2.0 也支持多路復(fù)用抓半,但是下層仍是 TCP,因為 TCP 的重傳機制格嘁,只要一個包丟失就得判斷丟失包并且重傳笛求,導(dǎo)致發(fā)生隊頭阻塞的問題,但是 UDP 沒有這個機制

2糕簿、實現(xiàn)了自己的加密協(xié)議探入,通過類似 TCP 的 TFO 機制可以實現(xiàn) 0-RTT,當(dāng)然 TLS 1.3 已經(jīng)實現(xiàn)了 0-RTT 了

3懂诗、支持重傳和糾錯機制(向前恢復(fù))蜂嗽,在只丟失一個包的情況下不需要重傳,使用糾錯機制恢復(fù)丟失的包殃恒。糾錯機制:通過異或的方式植旧,算出發(fā)出去的數(shù)據(jù)的異或值并單獨發(fā)出一個包,服務(wù)端在發(fā)現(xiàn)有一個包丟失的情況下离唐,通過其他數(shù)據(jù)包和異或值包算出丟失包病附。在丟失兩個包或以上的情況就使用重傳機制,因為算不出來了亥鬓。

往期「每日一題」

1完沪、JavaScript && ES6

2赞枕、瀏覽器

3坪创、Vue

4、React

5柠掂、HTML5

6依沮、算法

7态蒂、Node

8费什、Http

謝謝支持

1、文章喜歡的話可以「分享,點贊瘩蚪,在看」三連哦泉懦。

2、作者昵稱:saucxs疹瘦,songEagle崩哩,松寶寫代碼⊙糟澹「松寶寫代碼」公眾號作者邓嘹,每日一題,實驗室等险胰。一個愛好折騰汹押,致力于全棧,正在努力成長的字節(jié)跳動工程師鸯乃,星辰大海鲸阻,未來可期。內(nèi)推字節(jié)跳動各個部門各個崗位缨睡。

3鸟悴、長按下面圖片,關(guān)注「松寶寫代碼」奖年,是獲取開發(fā)知識體系構(gòu)建细诸,精選文章,項目實戰(zhàn)陋守,實驗室震贵,每日一道面試題,進階學(xué)習(xí)水评,思考職業(yè)發(fā)展猩系,涉及到JavaScript,Node中燥,Vue寇甸,React,瀏覽器疗涉,http拿霉,算法,端相關(guān)咱扣,小程序等領(lǐng)域绽淘,希望可以幫助到你,我們一起成長

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末闹伪,一起剝皮案震驚了整個濱河市沪铭,隨后出現(xiàn)的幾起案子壮池,更是在濱河造成了極大的恐慌,老刑警劉巖伦意,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件火窒,死亡現(xiàn)場離奇詭異,居然都是意外死亡驮肉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門已骇,熙熙樓的掌柜王于貴愁眉苦臉地迎上來离钝,“玉大人,你說我怎么就攤上這事褪储÷芽剩” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵鲤竹,是天一觀的道長浪读。 經(jīng)常有香客問我,道長辛藻,這世上最難降的妖魔是什么碘橘? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮吱肌,結(jié)果婚禮上痘拆,老公的妹妹穿的比我還像新娘。我一直安慰自己氮墨,他們只是感情好纺蛆,可當(dāng)我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著规揪,像睡著了一般桥氏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上猛铅,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天字支,我揣著相機與錄音,去河邊找鬼奕坟。 笑死祥款,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的月杉。 我是一名探鬼主播刃跛,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼苛萎!你這毒婦竟也來了桨昙?” 一聲冷哼從身側(cè)響起检号,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蛙酪,沒想到半個月后齐苛,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡桂塞,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年凹蜂,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片阁危。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡玛痊,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出狂打,到底是詐尸還是另有隱情擂煞,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布趴乡,位于F島的核電站对省,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏晾捏。R本人自食惡果不足惜蒿涎,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望粟瞬。 院中可真熱鬧同仆,春花似錦、人聲如沸裙品。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽市怎。三九已至岁忘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間区匠,已是汗流浹背干像。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留驰弄,地道東北人麻汰。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像戚篙,于是被迫代替她去往敵國和親五鲫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容