Web性能提升之Http2.0

在詳細(xì)分析http2.0之前乍迄,有必要先看看http協(xié)議的演進(jìn)史,是如何一步一步從http1.0升級(jí)到http2.0的:

Http1.0

在仔細(xì)的分析http1.0, http1.1, http2.0的區(qū)別之前,我對(duì)http協(xié)議的理解停留在http1.0的水平:
請(qǐng)求頭部:
Connected to xxx.xx.xxx.xxx
Get xxx Http/1.0
User-AgentL xxxxx
Accept: /
請(qǐng)求響應(yīng):
HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 23322
Expires: xxx
Last-modified: xxx
Server: xxx
請(qǐng)求頭部和響應(yīng)頭部都是純文本的唉锌,請(qǐng)求注明了資源路徑试读,并攜帶UA和cookie信息,而響應(yīng)也指明了協(xié)議類型罗珍,狀態(tài)碼洽腺,內(nèi)容長(zhǎng)度,緩存有效時(shí)間/上一次修改時(shí)間等用于瀏覽器檢測(cè)資源緩存有效性的字段覆旱。每個(gè)資源請(qǐng)求都需要建立TCP連接蘸朋,哪怕是向同一臺(tái)服務(wù)器請(qǐng)求。此外扣唱,整個(gè)協(xié)議還存在其他瑕疵藕坯,因此6個(gè)月之后就制定了Http1.1的標(biāo)準(zhǔn)团南。

Http1.1

相對(duì)于1.0版,1.1版主要在以下幾方面進(jìn)行了改進(jìn):

  1. 持久連接炼彪⊥赂客戶端在連接同一個(gè)主機(jī)并發(fā)送多個(gè)請(qǐng)求時(shí),不再每次都中斷連接辐马,而是可以持續(xù)的保持連接拷橘,直到所有請(qǐng)求結(jié)束,這種機(jī)制也反推動(dòng)http1.0來增加connection:keep-alive頭部來實(shí)現(xiàn)相同效果喜爷。據(jù)統(tǒng)計(jì)冗疮,平均每個(gè)頁(yè)面大概90個(gè)請(qǐng)求,那么假設(shè)資源都處于同一個(gè)域名檩帐,而為了防止過渡占用資源术幔,同一個(gè)客戶端最多同時(shí)向同一臺(tái)主機(jī)請(qǐng)求6個(gè)資源,因此在前端開發(fā)中湃密,往往通過資源合并诅挑,內(nèi)嵌等方式來減少請(qǐng)求個(gè)數(shù),此外資源預(yù)取泛源,頁(yè)面預(yù)渲染等方式也成為了常用優(yōu)化手段拔妥。通過HTTP管道,域名分區(qū)可以增加文件下載的并行度达箍。
  2. Host域毒嫡。主要適用與同一臺(tái)物理機(jī)器需要適配多個(gè)域名的情形,有了HOST域則能正確的將請(qǐng)求分發(fā)給對(duì)應(yīng)的業(yè)務(wù)幻梯。
    3.緩存兜畸。Http1.0使用max-age和expires來設(shè)定資源有效時(shí)間,當(dāng)超過時(shí)間時(shí)碘梢,需要通過If-Modified-Since來詢問服務(wù)器資源是否仍然有效咬摇,然而這種絕對(duì)時(shí)間會(huì)造成不同機(jī)器的時(shí)鐘同步問題。Http1.1通過增加Etag來標(biāo)識(shí)文件可以解決時(shí)鐘同步問題煞躬。
  3. 內(nèi)容協(xié)商機(jī)制肛鹏,比如accept-language, accept-charset等等。
  4. 新增了很多狀態(tài)碼恩沛,比如206 斷點(diǎn)續(xù)傳等在扰。

Http2.0

看起來Http1.1已經(jīng)很完美了,不過Http2.0則進(jìn)一步完善了1.1的功能雷客,主要表現(xiàn)在

  1. 壓縮芒珠。2.0把數(shù)據(jù)交互劃分為流,消息和幀搅裙,幀成為了數(shù)據(jù)交互的最小單位皱卓,同一個(gè)請(qǐng)求的頭部和數(shù)據(jù)部分可以分離開來形成不同的幀裹芝,客戶端再對(duì)幀進(jìn)行組裝。并且娜汁,二進(jìn)制編碼對(duì)收不數(shù)據(jù)進(jìn)行了壓縮嫂易,減少了消息體大小。如此一來掐禁,客戶端和服務(wù)端都可以以幀的形式怜械,互不干擾的同時(shí)發(fā)出多個(gè)請(qǐng)求或者響應(yīng),而這種發(fā)送是亂序的傅事,不再會(huì)因?yàn)橹暗臄?shù)據(jù)包未收到而等待中間數(shù)據(jù)包的情形宫盔。
  2. 服務(wù)器推送。當(dāng)連接建立以后享完,服務(wù)器可以主動(dòng)向客戶端推送信息,這種推送避免了之前需要不斷的輪詢服務(wù)器來獲取狀態(tài)是否變更的情形有额,
  3. 減少連接般又。每個(gè)來源只需要建立一個(gè)tcp連接,不再需要像1.1一樣巍佑,同時(shí)開啟多個(gè)進(jìn)程來實(shí)現(xiàn)并行下載茴迁,以及為了繞開最多同時(shí)下載6個(gè)資源而使用域名分區(qū)。

就先聊到這里把萤衰,隨著HTTP協(xié)議的不斷演進(jìn)堕义,有沒有發(fā)現(xiàn)生活在不斷的變得更美好了呢!

參考文章
HTTP1.0和HTTP1.1的區(qū)別

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末脆栋,一起剝皮案震驚了整個(gè)濱河市倦卖,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌椿争,老刑警劉巖怕膛,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異秦踪,居然都是意外死亡褐捻,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門椅邓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來柠逞,“玉大人,你說我怎么就攤上這事景馁“遄常” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵合住,是天一觀的道長(zhǎng)个束。 經(jīng)常有香客問我慕购,道長(zhǎng),這世上最難降的妖魔是什么茬底? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任沪悲,我火速辦了婚禮,結(jié)果婚禮上阱表,老公的妹妹穿的比我還像新娘殿如。我一直安慰自己,他們只是感情好最爬,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布涉馁。 她就那樣靜靜地躺著,像睡著了一般爱致。 火紅的嫁衣襯著肌膚如雪烤送。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天糠悯,我揣著相機(jī)與錄音帮坚,去河邊找鬼。 笑死互艾,一個(gè)胖子當(dāng)著我的面吹牛试和,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纫普,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼阅悍,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了昨稼?” 一聲冷哼從身側(cè)響起节视,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎假栓,沒想到半個(gè)月后肴茄,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡但指,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年寡痰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片棋凳。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拦坠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出剩岳,到底是詐尸還是另有隱情贞滨,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布,位于F島的核電站晓铆,受9級(jí)特大地震影響勺良,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜骄噪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一尚困、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧链蕊,春花似錦事甜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至陪蜻,卻和暖如春邦马,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宴卖。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工滋将, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人嘱腥。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像拘悦,于是被迫代替她去往敵國(guó)和親齿兔。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

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