連接管理
一、http是如何使用tcp連接的?
http連接本質(zhì)就是tcp連接和一些使用連接的規(guī)則。所有的http通訊都是由tcp/ip來承載的。tcp/ip是全球計(jì)算機(jī)及網(wǎng)絡(luò)設(shè)備都在使用的一種常用的分組交換的網(wǎng)絡(luò)分層協(xié)議集。客戶端程序打開一條tcp/ip連接。連接到可能運(yùn)行在世界任何地方的服務(wù)器應(yīng)用程序。
1.tcp流是分段的,由ip分組傳送
網(wǎng)絡(luò)協(xié)議棧
http要傳送一條報(bào)文的時(shí)候,會(huì)以流的形式將報(bào)文數(shù)據(jù)的內(nèi)容通過一條打開的TCP連接按照順序傳輸。TCP收到數(shù)據(jù)流后,會(huì)將數(shù)據(jù)流分成被稱之為段的小數(shù)據(jù)塊,并將段封裝在ip分組中,通過
因特網(wǎng)進(jìn)行傳輸,見下圖。這些工作都是TCP/IP軟件來處理的,HTTP程序員什么都看不到。
2.一個(gè)tcp連接是由4個(gè)值來識(shí)別的,<源ip地址:源端口 ? ?目的ip地址:目的端口> tcp 是通過端口號(hào)來保持所有這些連接的正確運(yùn)行的。
3. tcp客戶端和服務(wù)器是通過tcp套接字接口來進(jìn)行通訊的,如下圖所示:
對(duì)上圖的說明:
web服務(wù)器等待連接(S4),客戶端根據(jù)URL判定出IP地址和端口號(hào),并建立一條到服務(wù)器的TCP連接C3,連接建立成功,客戶端發(fā)送http請(qǐng)求C5,服務(wù)器讀取請(qǐng)求S6,
服務(wù)器對(duì)請(qǐng)求進(jìn)行處理,執(zhí)行請(qǐng)求的動(dòng)作S7,客戶端讀取數(shù)據(jù)C6,客戶端處理數(shù)據(jù)。
?
二、TCP連接的時(shí)延、瓶頸、存在的障礙
1.tcp連接建立握手
2.tcp慢啟動(dòng)擁塞機(jī)制
3.數(shù)據(jù)聚集的Nagle算法
4.用于捎帶確認(rèn) 的TCP確認(rèn)suanfa
5.TIME_WAIT 時(shí)延和端口耗盡
三、HTTP連接的優(yōu)化
? ?1.并行連接
并行連接可能會(huì)提高頁面的訪問速度,但是并行連接不一定很快
2.持久連接keep-alive
3.管道化連接 http/1.1
四、關(guān)閉連接
1.任意時(shí)刻可以關(guān)閉連接
2.Content-Length及截尾
3.連接關(guān)閉容限、重試及冪等性
4.正常關(guān)閉
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
