2018-11-10

HTTP TCP協(xié)議的理解與總結(jié)

我們都知道軟件架構(gòu)模式 分為2種,分為C/S(安裝客戶端)和 ?B/S(ip地址訪問(wèn))。區(qū)別:TCP/IP 安全正压,功能強(qiáng)大,不方便要安裝客戶端责球;而HTTP方便焦履,只要瀏覽器。那么我們就會(huì)想到TCP HTTP 協(xié)議之間有哪些的區(qū)別與聯(lián)系之處呢雏逾?小編帶大家一起來(lái)學(xué)習(xí)裁良。

一、什么是HTTP TCP協(xié)議校套?

①HTTP協(xié)議即超文本傳送協(xié)議(Hypertext?Transfer?Protocol?)价脾,是應(yīng)用層協(xié)議,定義的是傳輸數(shù)據(jù)的內(nèi)容的規(guī)范笛匙。HTTP協(xié)議是建立在TCP協(xié)議之上的一種應(yīng)用層協(xié)議侨把。

HTTP連接最顯著的特點(diǎn):

1)客戶端發(fā)送的每次請(qǐng)求都需要服務(wù)器回送響應(yīng)犀变,在請(qǐng)求結(jié)束后,會(huì)主動(dòng)釋放連接秋柄。從建立連接到關(guān)閉連接的過(guò)程稱為“一次連接”获枝。

2)它是TCP協(xié)議族中的一種,默認(rèn)使用 TCP 80端口骇笔。

3)在HTTP?1.0中省店,客戶端的每次請(qǐng)求都要求建立一次單獨(dú)的連接,在處理完本次請(qǐng)求后笨触,就自動(dòng)釋放連接懦傍。-------一次連接接收一個(gè)請(qǐng)求

4)在HTTP?1.1中則可以在一次連接中處理多個(gè)請(qǐng)求,并且多個(gè)請(qǐng)求可以重疊進(jìn)行芦劣,不需要等待一個(gè)請(qǐng)求結(jié)束后再發(fā)送下一個(gè)請(qǐng)求粗俱。-----------一次連接可以接受多個(gè)請(qǐng)求

由 于HTTP在每次請(qǐng)求結(jié)束后都會(huì)主動(dòng)釋放連接,因此HTTP連接是一種“短連接”虚吟,要保持客戶端程序的在線狀態(tài)寸认,需要不斷地向服務(wù)器發(fā)起連接請(qǐng)求。通常的 做法是即時(shí)不需要獲得任何數(shù)據(jù)串慰,客戶端也保持每隔一段固定的時(shí)間向服務(wù)器發(fā)送一次“保持連接”的請(qǐng)求偏塞,服務(wù)器在收到該請(qǐng)求后對(duì)客戶端進(jìn)行回復(fù),表明知道客 戶端“在線”邦鲫。若服務(wù)器長(zhǎng)時(shí)間無(wú)法收到客戶端的請(qǐng)求烛愧,則認(rèn)為客戶端“下線”,若客戶端長(zhǎng)時(shí)間無(wú)法收到服務(wù)器的回復(fù)掂碱,則認(rèn)為網(wǎng)絡(luò)已經(jīng)斷開怜姿。

②TCP是傳輸層協(xié)議,定義數(shù)據(jù)傳輸和連接方式的規(guī)范疼燥。握手過(guò)程中傳送的包里不包含數(shù)據(jù)沧卢,三次握手完畢后,客戶端與服務(wù)器才正式開始傳送數(shù)據(jù)醉者。

“網(wǎng)絡(luò)是路但狭,TCP是跑在路上的車,HTTP是車上的人撬即×⒋牛”

二、HTTP TCP協(xié)議的工作原理剥槐?

第一:從傳輸層唱歧,先說(shuō)下TCP連接,我們要和服務(wù)端連接TCP連接,需要通過(guò)三次連接颅崩,包括:請(qǐng)求几于,確認(rèn),建立連接沿后。即傳說(shuō)中的“三次握手協(xié)議”沿彭。

第一次:C發(fā)送一個(gè)請(qǐng)求連接的位碼SYN和一個(gè)隨機(jī)產(chǎn)生的序列號(hào)給Seq,然后S收到了這些數(shù)據(jù)尖滚。

第二次:S收到了這個(gè)請(qǐng)求連接的位碼喉刘,啊呀,有人向我發(fā)出請(qǐng)求了么漆弄,那我要不要接受他的請(qǐng)求睦裳,得實(shí)現(xiàn)確認(rèn)一下,于是置逻,發(fā)送了一個(gè)確認(rèn)碼?ACN(seq+1)推沸,和SYN备绽,Seq給C券坞,然后C收到了,這個(gè)是第二次連接肺素。

第三次:C收到了確認(rèn)的碼和之前發(fā)送的SYN一比較恨锚,偶喲,對(duì)上了么倍靡,于是他又發(fā)送了一個(gè)ACN(SEQ+1)給S猴伶,S收到以后就確定建立連接,至此塌西,TCP連接建立完成他挎。

簡(jiǎn)單就是:請(qǐng)求,確認(rèn)捡需,連接办桨。

第二:從實(shí)際上的數(shù)據(jù)應(yīng)用來(lái)說(shuō)HTTP:

在前面客戶端和應(yīng)用服務(wù)器建立TCP連接之后,就需要用http協(xié)議來(lái)傳送數(shù)據(jù)了站辉,HTTP協(xié)議簡(jiǎn)單來(lái)說(shuō)呢撞,還是請(qǐng)求,確認(rèn)饰剥,連接殊霞。

總體就是C發(fā)送一個(gè)HTTP請(qǐng)求給S,S收到了這個(gè)http請(qǐng)求汰蓉,然后返回給Chttp響應(yīng)绷蹲,然后C的中間件或者說(shuō)瀏覽器把這些數(shù)據(jù)渲染成為了網(wǎng)頁(yè),展示在用戶面前顾孽。

第一:發(fā)送一個(gè)http請(qǐng)求給S瘸右,這個(gè)請(qǐng)求包括請(qǐng)求頭和請(qǐng)求內(nèi)容:

request?header:

包括了娇跟,1.請(qǐng)求的方法是POST/GET,請(qǐng)求的URL,http協(xié)議版本2.請(qǐng)求的數(shù)據(jù)太颤,和編碼方式3是否有cookie和cooies苞俘,是否緩存等。

post和get請(qǐng)求方式的區(qū)別是龄章,get把請(qǐng)求內(nèi)容放在URL后面吃谣,但是URL長(zhǎng)度有限制。而post是以表單的形勢(shì)做裙,適合要輸入密碼之類的岗憋,因?yàn)椴辉赨RL中顯示,所以比較安全锚贱。

request?body:

即請(qǐng)求的內(nèi)容.

第二:S收到了http請(qǐng)求仔戈,然后根據(jù)請(qǐng)求頭,返回http響應(yīng)拧廊。

response?header:包括了1.cookies或者sessions2.狀態(tài)嗎3.內(nèi)容大小等

response?body:

即響應(yīng)的內(nèi)容监徘,包括,JS什么的吧碾。

第三凰盔,C收到了以后,就由瀏覽器完成一系列的渲染倦春,包括執(zhí)行JS腳本等户敬。


請(qǐng)求與響應(yīng)


三、HTTP TCP協(xié)議的聯(lián)系睁本?

TCP是底層通訊協(xié)議尿庐,傳輸層協(xié)議,定義的是數(shù)據(jù)傳輸和連接方式的規(guī)范

HTTP是應(yīng)用層協(xié)議呢堰,定義的是傳輸數(shù)據(jù)的內(nèi)容的規(guī)范

HTTP協(xié)議中的數(shù)據(jù)是利用TCP協(xié)議傳輸?shù)某灾С諬TTP也就一定支持TCP

TCP/IP是網(wǎng)絡(luò)中使用的基本的通信協(xié)議。

TCP/IP實(shí)際上是一組協(xié)議暮胧,它包括上百個(gè)各種功能的協(xié)議锐借,如:遠(yuǎn)程登錄、文件傳輸和電子郵件等往衷,而TCP協(xié)議和IP協(xié)議是保證數(shù)據(jù)完整傳輸?shù)膬蓚€(gè)基本的重要協(xié)議钞翔。通常說(shuō)TCP/IP是Internet協(xié)議族,而不單單是TCP和IP席舍。

總結(jié):客戶端通過(guò)http協(xié)議向服務(wù)器端發(fā)送數(shù)據(jù)請(qǐng)求布轿,?http是要基于TCP連接基礎(chǔ)上的,說(shuō)明請(qǐng)求前會(huì)通過(guò)TCP來(lái)建立一個(gè)連接。簡(jiǎn)單的說(shuō)汰扭,TCP就是單純建立連接稠肘,簡(jiǎn)單的傳輸;HTTP是有數(shù)據(jù)的萝毛,這個(gè)數(shù)據(jù)通過(guò)TCP傳輸项阴。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市笆包,隨后出現(xiàn)的幾起案子环揽,更是在濱河造成了極大的恐慌,老刑警劉巖庵佣,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件歉胶,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡巴粪,警方通過(guò)查閱死者的電腦和手機(jī)通今,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)肛根,“玉大人辫塌,你說(shuō)我怎么就攤上這事【ǎ” “怎么了璃氢?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵哟玷,是天一觀的道長(zhǎng)狮辽。 經(jīng)常有香客問(wèn)我,道長(zhǎng)巢寡,這世上最難降的妖魔是什么喉脖? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮抑月,結(jié)果婚禮上树叽,老公的妹妹穿的比我還像新娘。我一直安慰自己谦絮,他們只是感情好题诵,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著层皱,像睡著了一般性锭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上叫胖,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天草冈,我揣著相機(jī)與錄音,去河邊找鬼。 笑死怎棱,一個(gè)胖子當(dāng)著我的面吹牛哩俭,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播拳恋,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼凡资,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了谬运?” 一聲冷哼從身側(cè)響起讳苦,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吩谦,沒(méi)想到半個(gè)月后鸳谜,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡式廷,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年咐扭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片滑废。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蝗肪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出蠕趁,到底是詐尸還是另有隱情薛闪,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布俺陋,位于F島的核電站豁延,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏腊状。R本人自食惡果不足惜诱咏,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望缴挖。 院中可真熱鬧袋狞,春花似錦、人聲如沸映屋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)棚点。三九已至早处,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間乙濒,已是汗流浹背陕赃。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工卵蛉, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人么库。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓傻丝,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親诉儒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子葡缰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

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