《HTTP權(quán)威指南》4-連接管理

TCP連接

TCP/IP是全球計(jì)算機(jī)及網(wǎng)絡(luò)設(shè)備都在使用的一種常見的分組交換網(wǎng)絡(luò)分層協(xié)議集
客戶端應(yīng)用程序可以打開一條TCP/IP連接鉴未。連接到可能運(yùn)行在世界任何地方的服務(wù)器應(yīng)用程序

TCP的可靠數(shù)據(jù)管道

HTTP連接實(shí)際上就是TCP連接和一些使用連接的規(guī)則
TCP為HTTP提供了一條可靠的比特傳輸管道
從TCP連接一端填入的字節(jié)會從另一端以原有的順序箭窜,正確的傳送出來

TCP流是分段的,由IP分組傳送

HTTP要傳送一條報(bào)文時(shí),會進(jìn)行如下傳送:

  1. 以流的形式將報(bào)文數(shù)據(jù)的內(nèi)容通過一條打開的TCP連接按序傳輸
  2. TCP接收到數(shù)據(jù)流后硝皂,將數(shù)據(jù)流砍成被稱作段的小數(shù)據(jù)塊
  3. 將段封裝在IP分組中盯另,通過因特網(wǎng)進(jìn)行傳輸

保持TCP連接的正確運(yùn)行

任意時(shí)刻計(jì)算機(jī)都可以有幾條TCP連接處于打開狀態(tài),TCP是通過端口號來保持所有這些連接的正確運(yùn)行的兄一。
TCP連接是通過4個值來是識別的:
<源IP地址厘线、源端口號、目的IP地址出革、目的端口號>

對TCP性能的考慮

HTTP事務(wù)的時(shí)延

HTTP事務(wù)主要的連接造壮,傳輸及處理時(shí)延

HTTP事務(wù)時(shí)延有一下幾種主要原因:

  1. 從URL中解析IP地址及端口號
  2. 建立TCP連接
  3. 傳輸請求報(bào)文,及服務(wù)器處理請求報(bào)文
  4. 返回響應(yīng)報(bào)文

TCP網(wǎng)絡(luò)時(shí)延的大小取決于硬件速度骂束,網(wǎng)絡(luò)和服務(wù)器的負(fù)載费薄,請求和響應(yīng)報(bào)文的尺寸,客戶端和服務(wù)器的距離等

HTTP連接的處理

Connection首部

HTTP允許在客戶端和最終的源端服務(wù)器之間存在一串HTTP中間實(shí)體栖雾,包括代理楞抡,網(wǎng)關(guān),緩存等析藕。
在某些情況下召廷,兩個相鄰的HTTP應(yīng)用程序會為它們共享的連接應(yīng)用一組選項(xiàng)。
HTTP的Connection首部字段中有一個由逗號分隔的連接標(biāo)簽列表,這些標(biāo)簽為此連接指定了一些不會傳播到其他連接中去的選項(xiàng)竞慢。

  1. 當(dāng)HTTP應(yīng)用程序收到一條帶有Connection首部的報(bào)文時(shí)先紫,接收端會接卸發(fā)送端請求的所有選項(xiàng),并將其應(yīng)用筹煮。
  2. 在將此報(bào)文轉(zhuǎn)發(fā)給下一跳地址之前遮精,刪除Connection首部及Connection中列出的所有首部

并行連接

HTTP允許客戶端打開多條連接,并行地執(zhí)行多個HTTP事務(wù)

并行連接可能會提高頁面的加載速度

4個并行事務(wù)

并行連接不一定會更快

并行連接的速度可能會更快败潦,但不一定總是更快本冲。
當(dāng)客戶端的網(wǎng)絡(luò)帶寬不足時(shí),大部分的時(shí)間肯能都是用來傳送數(shù)據(jù)的劫扒,一個連接到速度較快的服務(wù)器上的HTTP事務(wù)很容易好近所有可能用的Modem帶寬檬洞。
而且,打開大量連接會消耗很多內(nèi)存資源沟饥,從而引發(fā)自身的性能問題

并行連接可能讓人“感覺”更快一些

當(dāng)更多的組件對象同時(shí)出現(xiàn)在屏幕上添怔,使用戶能夠看到加載的進(jìn)展,哪怕速度上沒有變化贤旷,也會讓人感覺更快

持久連接

Web客戶端經(jīng)常會打開同一個站點(diǎn)的連接广料。
HTTP/1.1允許HTTP設(shè)備在事務(wù)處理結(jié)束之后將TCP連接保持在打開狀態(tài),以便為未來的HTTP請求重用現(xiàn)存的連接幼驶。
在事務(wù)處理結(jié)束后仍然保持在打開狀態(tài)的TCP連接被稱為持久連接

管道化連接

HTTP/1.1允許在持久連接上可選地使用請求管道艾杏。
在響應(yīng)到達(dá)之前,可以將多條請求放入隊(duì)列县遣。
當(dāng)?shù)谝粭l請求通過網(wǎng)絡(luò)流向地球另一端的服務(wù)器時(shí)糜颠,第二條和第三條也可以開始發(fā)送了
管道化連接有如下幾條限制:

  • 如果HTTP客戶端無法確認(rèn)連接是持久的,就不應(yīng)該使用管道
  • 必須按照與請求相同的順序回送HTTP響應(yīng)
  • HTTP客戶端必須做好連接會在任意時(shí)刻關(guān)閉的準(zhǔn)備
  • HTTP客戶端不應(yīng)該用管道化的方式發(fā)送會產(chǎn)生副作用的請求萧求,如POST,否則其兴,當(dāng)出錯時(shí),就會存在某些方法永遠(yuǎn)不會被執(zhí)行的風(fēng)險(xiǎn)夸政。

幾種連接圖

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末元旬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子守问,更是在濱河造成了極大的恐慌匀归,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件耗帕,死亡現(xiàn)場離奇詭異穆端,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)仿便,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門体啰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來攒巍,“玉大人,你說我怎么就攤上這事荒勇∑饫颍” “怎么了?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵沽翔,是天一觀的道長兢孝。 經(jīng)常有香客問我,道長仅偎,這世上最難降的妖魔是什么跨蟹? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮哨颂,結(jié)果婚禮上喷市,老公的妹妹穿的比我還像新娘相种。我一直安慰自己威恼,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布寝并。 她就那樣靜靜地躺著箫措,像睡著了一般。 火紅的嫁衣襯著肌膚如雪衬潦。 梳的紋絲不亂的頭發(fā)上斤蔓,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天,我揣著相機(jī)與錄音镀岛,去河邊找鬼弦牡。 笑死,一個胖子當(dāng)著我的面吹牛漂羊,可吹牛的內(nèi)容都是我干的驾锰。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼走越,長吁一口氣:“原來是場噩夢啊……” “哼椭豫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起旨指,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤赏酥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后谆构,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裸扶,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年搬素,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了呵晨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞬项。...
    茶點(diǎn)故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖何荚,靈堂內(nèi)的尸體忽然破棺而出囱淋,到底是詐尸還是另有隱情,我是刑警寧澤餐塘,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布妥衣,位于F島的核電站,受9級特大地震影響戒傻,放射性物質(zhì)發(fā)生泄漏税手。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一需纳、第九天 我趴在偏房一處隱蔽的房頂上張望芦倒。 院中可真熱鬧,春花似錦不翩、人聲如沸兵扬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽器钟。三九已至,卻和暖如春妙蔗,著一層夾襖步出監(jiān)牢的瞬間傲霸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工眉反, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留昙啄,地道東北人。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓寸五,卻偏偏與公主長得像梳凛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子播歼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,446評論 2 359

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