HTTP的長(zhǎng)連接和短連接直接的區(qū)別

2021-02-26    分類: 網(wǎng)站建設(shè)

你一定聽說(shuō)過(guò)關(guān)于http所謂的 長(zhǎng)連接和短連接之說(shuō)。

但是,什么是長(zhǎng)連接?什么是短連接,我想很多人都是懵懵懂懂的,不能完全說(shuō)出他們的區(qū)別。今天就帶你們完全了解他們,從此再也不會(huì)忘記了。

接下來(lái)我們就聊一聊 長(zhǎng)連接和短連接分別在什么場(chǎng)景下使用?

  • 長(zhǎng)連接使用場(chǎng)景:長(zhǎng)連接多用于頻繁操作,多次請(qǐng)求的網(wǎng)絡(luò)應(yīng)答響應(yīng),而且是一對(duì)一,點(diǎn)對(duì)點(diǎn)的通信。 例如:數(shù)據(jù)庫(kù)的連接用長(zhǎng)連接,如果使用短連接頻繁的應(yīng)答響應(yīng)會(huì)造成socket報(bào)錯(cuò),同時(shí)也會(huì)浪費(fèi)資源。
  • 短連接的使用場(chǎng)景:短連接怎不會(huì)那么耗費(fèi)資源,因?yàn)椴恍枰L(zhǎng)時(shí)間占用TCP連接。因此,像Web網(wǎng)站中的http服務(wù)一般都是用的短連接。因?yàn)殚L(zhǎng)連接會(huì)占用一定的資源,而像淘寶,京東等網(wǎng)站這樣頻繁的被用戶訪問(wèn),趕上雙十一都是上億規(guī)模的訪問(wèn)量,如果使用長(zhǎng)連接,每個(gè)用戶都占用一個(gè)TCP連接通道,那么服務(wù)器的壓力可想而知。所以,這種情況下 使用短連接效果比較好。

因?yàn)樯厦嫖覀冋f(shuō)到HTTP的連接實(shí)際上就是TCP的連接,那么在這里我們就不得不來(lái)詳細(xì)說(shuō)一下,TCP的連接有什么特色呢?

TCP 連接

在網(wǎng)絡(luò)應(yīng)答請(qǐng)求時(shí),客戶端與服務(wù)器端之間必須建立一個(gè)連接,當(dāng)網(wǎng)絡(luò)請(qǐng)求完成之后,雙方就不再需要這個(gè)連接時(shí)就可以將連接釋放。 而這里采用的是TCP連接,TCP的協(xié)議里面的連接,依靠是“三次握手”,釋放時(shí)依靠“四次分手”。

因此每一次的連接都是需要耗費(fèi)資源和時(shí)間的。

1. TCP 的“三次握手”:

TCP 的“三次握手”

TCP 的三次握手的示意圖

詳細(xì)解釋:

  • 第一次握手:客戶端想服務(wù)器發(fā)送一個(gè)SYN 標(biāo)志位為1的包,以及初始序號(hào)X,包裝在包的頭的序列號(hào)字段里。
  • 第二次握手:服務(wù)器發(fā)回ACK(確認(rèn)包),即將SYN和ACK標(biāo)志位都命名為1,同時(shí)將序列號(hào)修改為X+1.
  • 第三次握手:客戶端向服務(wù)器再次發(fā)送確認(rèn)包(ACK),SYN標(biāo)志位為0.ACK標(biāo)志位為1.同時(shí)把服務(wù)器發(fā)過(guò)來(lái)的ACK包序列號(hào)字段+1.放在包中,發(fā)給服務(wù)器即ACK=Y+1

2. TCP 的“四次分手”:

因?yàn)門CP的斷開需要發(fā)送四個(gè)包,因此被稱之為 四次揮手。客戶端或服務(wù)器端均可主動(dòng)斷開。在socket 編程中,任何一方執(zhí)行close()操作即可產(chǎn)生分手操作。

HTTP 協(xié)議的長(zhǎng)連接和短連接,實(shí)質(zhì)上就是TCP協(xié)議的長(zhǎng)連接和短連接。

短連接和長(zhǎng)連接的工作原理是啥,有啥優(yōu)勢(shì)呢?

  • 短連接:client向server發(fā)送請(qǐng)求,server收到請(qǐng)求,雙方建立連接。Client向server發(fā)送消息,server響應(yīng)client.然后一次連接就完成了。此時(shí),雙方都可以發(fā)起close操作。
  • 短連接的優(yōu)點(diǎn):管理簡(jiǎn)單,發(fā)起的連接都是有效的連接。不需要額外的控制手段。
  • 長(zhǎng)連接:client向server發(fā)送請(qǐng)求,server響應(yīng)client的連接,雙方建立連接。然后完成一次成功的響應(yīng)請(qǐng)求,之后他們的連接不會(huì)主動(dòng)關(guān)閉,后面的讀寫響應(yīng)請(qǐng)求還會(huì)繼續(xù)使用這個(gè)連接通道。

網(wǎng)頁(yè)標(biāo)題:HTTP的長(zhǎng)連接和短連接直接的區(qū)別
文章分享:http://www.bm7419.com/news40/102990.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站微信小程序、網(wǎng)站維護(hù)品牌網(wǎng)站制作、面包屑導(dǎo)航網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)