網(wǎng)絡(luò)連接與傳輸建立過程

網(wǎng)絡(luò)連接與傳輸建立過程

Socket連接

Socket 以服務(wù)器 ip 和端口號創(chuàng)建一個 Socket 套接子,對TCP/IP協(xié)議進(jìn)行封裝(socket本身并不是協(xié)議,而是建立在 Http應(yīng)用層 與 TCP/UDP 傳輸層中間的橋梁);

Socket 對 TCP/IP 封裝后,并攜帶當(dāng)前客戶端的 ip 與端口號到服務(wù)器去請求連接,通過 TCP 的三次握手建立連接;

連接成功后,在服務(wù)端會單獨生成一個Socket對應(yīng)這個連接成功的客戶端,以后的通訊均以此 Socket 來進(jìn)行通訊,只要這個socket存在,就是一次鏈接

TCP 建立連接的三次握手

TCP 連接的三次握手.png

TCP 斷開連接的四次握手

TCP 關(guān)閉連接的四次握手.png
  • 客戶端向服務(wù)端發(fā)送結(jié)束請求,請求服務(wù)端關(guān)閉數(shù)據(jù)傳輸
  • 服務(wù)端關(guān)閉數(shù)據(jù)傳輸后,響應(yīng)客戶端
  • 服務(wù)端告訴客戶端,關(guān)閉數(shù)據(jù)傳輸
  • 客戶端關(guān)閉傳輸后告訴服務(wù)端,可以斷開連接了

最后,服務(wù)端斷開連接,接著客戶端斷開連接

TCP短連接

  • HTTP/1.0中,默認(rèn)使用的是短連接

client向server發(fā)起連接請求塞耕,server接到請求舌菜,然后雙方建立連接纷妆。client向server 發(fā)送消息场梆,server回應(yīng)client墅冷,然后一次讀寫就完成了,這時候雙方任何一個都可以發(fā)起close操作或油,不過一般都是client先發(fā)起 close操作寞忿。為什么呢,一般的server不會回復(fù)完client后立即關(guān)閉連接的顶岸,當(dāng)然不排除有特殊的情況腔彰。從上面的描述看,短連接一般只會在 client/server間傳遞一次讀寫操作

短連接的優(yōu)點是:管理起來比較簡單辖佣,存在的連接都是有用的連接霹抛,不需要額外的控制手段

短連接的操作步驟是:
建立連接——數(shù)據(jù)傳輸——關(guān)閉連接...建立連接——數(shù)據(jù)傳輸——關(guān)閉連接

TCP長連接

  • HTTP/1.1起,默認(rèn)使用長連接卷谈,用以保持連接特性杯拐。使用長連接的HTTP協(xié)議,會在響應(yīng)頭有加入這行代碼:
    Connection:keep-alive

client向server發(fā)起連接世蔗,server接受client連接藕施,雙方建立連接。Client與server完成一次讀寫之后凸郑,它們之間的連接并不會主動關(guān)閉裳食,后續(xù)的讀寫操作會繼續(xù)使用這個連接。

首先說一下TCP/IP詳解上講到的TCP避搅ぃ活功能诲祸,保活功能主要為服務(wù)器應(yīng)用提供而昨,服務(wù)器應(yīng)用希望知道客戶主機是否崩潰救氯,從而可以代表客戶使用資源。如果客戶已經(jīng)消失歌憨,使得服務(wù)器上保留一個半開放的連接着憨,而服務(wù)器又在等待來自客戶端的數(shù)據(jù),則服務(wù)器將應(yīng)遠(yuǎn)等待客戶端的數(shù)據(jù)务嫡,奔锥叮活功能就是試圖在服務(wù) 器端檢測到這種半開放的連接。

如果一個給定的連接在兩小時內(nèi)沒有任何的動作心铃,則服務(wù)器就向客戶發(fā)一個探測報文段准谚,客戶主機必須處于以下4個狀態(tài)之一:

  • 客戶主機依然正常運行,并從服務(wù)器可達(dá)去扣≈危客戶的TCP響應(yīng)正常,而服務(wù)器也知道對方是正常的,服務(wù)器在兩小時后將彼纛恚活定時器復(fù)位哲戚。
  • 客戶主機已經(jīng)崩潰,并且關(guān)閉或者正在重新啟動艾岂。在任何一種情況下顺少,客戶的TCP都沒有響應(yīng)。服務(wù)端將不能收到對探測的響應(yīng)澳盐,并在75秒后超時。服務(wù)器總共發(fā)送10個這樣的探測 令宿,每個間隔75秒叼耙。如果服務(wù)器沒有收到一個響應(yīng),它就認(rèn)為客戶主機已經(jīng)關(guān)閉并終止連接粒没。
  • 客戶主機崩潰并已經(jīng)重新啟動筛婉。服務(wù)器將收到一個對其保活探測的響應(yīng)癞松,這個響應(yīng)是一個復(fù)位爽撒,使得服務(wù)器終止這個連接。
  • 客戶機正常運行响蓉,但是服務(wù)器不可達(dá)硕勿,這種情況與2類似,TCP能發(fā)現(xiàn)的就是沒有收到探查的響應(yīng)枫甲。

長連接的操作步驟是:
建立連接——數(shù)據(jù)傳輸...(保持連接)...數(shù)據(jù)傳輸——關(guān)閉連接

來自: https://www.tobyotenma.top/blog/?p=65

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末源武,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子想幻,更是在濱河造成了極大的恐慌粱栖,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件脏毯,死亡現(xiàn)場離奇詭異闹究,居然都是意外死亡,警方通過查閱死者的電腦和手機食店,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進(jìn)店門渣淤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人吉嫩,你說我怎么就攤上這事砂代。” “怎么了率挣?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵刻伊,是天一觀的道長。 經(jīng)常有香客問我,道長捶箱,這世上最難降的妖魔是什么智什? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮丁屎,結(jié)果婚禮上荠锭,老公的妹妹穿的比我還像新娘。我一直安慰自己晨川,他們只是感情好证九,可當(dāng)我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著共虑,像睡著了一般愧怜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妈拌,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天拥坛,我揣著相機與錄音,去河邊找鬼尘分。 笑死猜惋,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的培愁。 我是一名探鬼主播著摔,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼定续!你這毒婦竟也來了梨撞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤香罐,失蹤者是張志新(化名)和其女友劉穎卧波,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體港粱,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年查坪,在試婚紗的時候發(fā)現(xiàn)自己被綠了宁炫。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片偿曙。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖羔巢,靈堂內(nèi)的尸體忽然破棺而出望忆,到底是詐尸還是另有隱情,我是刑警寧澤启摄,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站歉备,受9級特大地震影響傅是,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蕾羊,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一喧笔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧龟再,春花似錦、人聲如沸吸申。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蛉威。三九已至,卻和暖如春蚯嫌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背择示。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留栅盲,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓扒寄,卻偏偏與公主長得像,于是被迫代替她去往敵國和親该编。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,979評論 2 355

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