中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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

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

你一定聽說過關于http所謂的 長連接和短連接之說。

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

接下來我們就聊一聊 長連接和短連接分別在什么場景下使用?

  • 長連接使用場景:長連接多用于頻繁操作,多次請求的網(wǎng)絡應答響應,而且是一對一,點對點的通信。 例如:數(shù)據(jù)庫的連接用長連接,如果使用短連接頻繁的應答響應會造成socket報錯,同時也會浪費資源。
  • 短連接的使用場景:短連接怎不會那么耗費資源,因為不需要長時間占用TCP連接。因此,像Web網(wǎng)站中的http服務一般都是用的短連接。因為長連接會占用一定的資源,而像淘寶,京東等網(wǎng)站這樣頻繁的被用戶訪問,趕上雙十一都是上億規(guī)模的訪問量,如果使用長連接,每個用戶都占用一個TCP連接通道,那么服務器的壓力可想而知。所以,這種情況下 使用短連接效果比較好。

因為上面我們說到HTTP的連接實際上就是TCP的連接,那么在這里我們就不得不來詳細說一下,TCP的連接有什么特色呢?

TCP 連接

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

因此每一次的連接都是需要耗費資源和時間的。

1. TCP 的“三次握手”:

TCP 的“三次握手”

TCP 的三次握手的示意圖

詳細解釋:

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

2. TCP 的“四次分手”:

因為TCP的斷開需要發(fā)送四個包,因此被稱之為 四次揮手??蛻舳嘶蚍掌鞫司芍鲃訑嚅_。在socket 編程中,任何一方執(zhí)行close()操作即可產(chǎn)生分手操作。

HTTP 協(xié)議的長連接和短連接,實質上就是TCP協(xié)議的長連接和短連接。

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

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

文章題目:HTTP的長連接和短連接直接的區(qū)別
文章起源:http://www.rwnh.cn/news/102990.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、營銷型網(wǎng)站建設、企業(yè)網(wǎng)站制作網(wǎng)站設計公司、企業(yè)建站、網(wǎng)站導航

廣告

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

網(wǎng)站托管運營
敦化市| 德庆县| 昭通市| 萝北县| 吕梁市| 宽城| 阳泉市| 玉林市| 新民市| 靖西县| 延安市| 茂名市| 修文县| 扎赉特旗| 宜阳县| 郁南县| 晋中市| 亳州市| 霸州市| 洪湖市| 大方县| 泸州市| 马边| 西乌| 大埔区| 和龙市| 介休市| 钦州市| 公主岭市| 灌南县| 茶陵县| 仁怀市| 高淳县| 内乡县| 昭平县| 河南省| 正蓝旗| 南华县| 东平县| 北票市| 雅安市|