新聞中心
HTTP的長連接和短連接本質(zhì)上是TCP長連接和短連接。HTTP屬于應(yīng)用層協(xié)議,在傳輸層使用TCP協(xié)議,在網(wǎng)絡(luò)層使用IP協(xié)議。IP協(xié)議主要解決網(wǎng)絡(luò)路由和尋址問題,TCP協(xié)議主要解決如何在IP層之上可靠的傳遞數(shù)據(jù)包,使在網(wǎng)絡(luò)上的另一端收到發(fā)端發(fā)出的所有包,并且順序與發(fā)出順序一致。TCP有可靠,面向連接的特點(diǎn)。

創(chuàng)新互聯(lián)公司成立于2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都做網(wǎng)站、網(wǎng)站制作網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元大豐做網(wǎng)站,已為上家服務(wù),為大豐各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220
tcp長連接和短連接 TCP在真正的讀寫操作之前,server與client之間必須建立一個(gè)連接,當(dāng)讀寫操作完成后,雙方不再需要這個(gè)連接時(shí)它們可以釋放這個(gè)連接,連接的建立通過三次握手,釋放則需要四次握手,所以說每個(gè)連接的建立都是需要資源消耗和時(shí)間消耗的。
TCP通信的整個(gè)過程,如下圖:
1. TCP短連接
模擬一種TCP短連接的情況:
-
- client 向 server 發(fā)起連接請(qǐng)求server 接到請(qǐng)求,雙方建立連接client 向 server 發(fā)送消息
server 回應(yīng) client
一次讀寫完成,此時(shí)雙方任何一個(gè)都可以發(fā)起 close 操作
- client 向 server 發(fā)起連接請(qǐng)求server 接到請(qǐng)求,雙方建立連接client 向 server 發(fā)送消息
在步驟5中,一般都是 client 先發(fā)起 close 操作。當(dāng)然也不排除有特殊的情況。
從上面的描述看,短連接一般只會(huì)在 client/server 間傳遞一次讀寫操作!
2. TCP長連接
再模擬一種長連接的情況:
3. TCP長/短連接操作過程
1 短連接的操作步驟是:
建立連接——數(shù)據(jù)傳輸——關(guān)閉連接…建立連接——數(shù)據(jù)傳輸——關(guān)閉連接
3.2 長連接的操作步驟是:
建立連接——數(shù)據(jù)傳輸…(保持連接)…數(shù)據(jù)傳輸——關(guān)閉連接
4. TCP長/短連接的優(yōu)點(diǎn)和缺點(diǎn)
長連接可以省去較多的TCP建立和關(guān)閉的操作,減少浪費(fèi),節(jié)約時(shí)間。對(duì)于頻繁請(qǐng)求資源的客戶來說,較適用長連接。
client與server之間的連接如果一直不關(guān)閉的話,會(huì)存在一個(gè)問題,隨著客戶端連接越來越多,server早晚有扛不住的時(shí)候,這時(shí)候server端需要采取一些策略,如關(guān)閉一些長時(shí)間沒有讀寫事件發(fā)生的連接,這樣可以避免一些惡意連接導(dǎo)致server端服務(wù)受損;如果條件再允許就可以以客戶端機(jī)器為顆粒度,限制每個(gè)客戶端的最大長連接數(shù),這樣可以完全避免某個(gè)蛋疼的客戶端連累后端服務(wù)。
短連接對(duì)于服務(wù)器來說管理較為簡單,存在的連接都是有用的連接,不需要額外的控制手段。
但如果客戶請(qǐng)求頻繁,將在TCP的建立和關(guān)閉操作上浪費(fèi)時(shí)間和帶寬。
5. TCP長/短連接的應(yīng)用場景
網(wǎng)頁名稱:詳解TCP長連接和短連接
網(wǎng)址分享:http://fisionsoft.com.cn/article/cdphiie.html


咨詢
建站咨詢
