TCP UDP HTTP的區(qū)別詳解

TCP UDP HTTP區(qū)別詳解

http:是用于www瀏覽的一個(gè)協(xié)議专执。

tcp:是機(jī)器之間建立連接用的到的一個(gè)協(xié)議途事。

?

1布卡、TCP/IP是個(gè)協(xié)議組,可分為三個(gè)層次:網(wǎng)絡(luò)層卧惜、傳輸層和應(yīng)用層厘灼。

在網(wǎng)絡(luò)層有IP協(xié)議夹纫、ICMP協(xié)議、ARP協(xié)議手幢、RARP協(xié)議和BOOTP協(xié)議捷凄。

在傳輸層中有TCP協(xié)議與UDP協(xié)議。

在應(yīng)用層有FTP围来、HTTP跺涤、TELNET、SMTP监透、DNS等協(xié)議桶错。

因此,HTTP本身就是一個(gè)協(xié)議胀蛮,是從Web服務(wù)器傳輸超文本到本地瀏覽器的傳送協(xié)議院刁。

?

2、HTTP協(xié)議是建立在請(qǐng)求/響應(yīng)模型上的粪狼。首先由客戶建立一條與服務(wù)器的TCP鏈接退腥,并發(fā)送一個(gè)請(qǐng)求到服務(wù)器,請(qǐng)求中包含請(qǐng)求方法再榄、URI狡刘、協(xié)議版本以及相關(guān)的MIME樣式的消息。服務(wù)器響應(yīng)一個(gè)狀態(tài)行困鸥,包含消息的協(xié)議版本嗅蔬、一個(gè)成功和失敗碼以及相關(guān)的MIME式樣的消息。

HTTP/1.0為每一次HTTP的請(qǐng)求/響應(yīng)建立一條新的TCP鏈接疾就,因此一個(gè)包含HTML內(nèi)容和圖片的頁(yè)面將需要建立多次的短期的TCP鏈接澜术。一次TCP鏈接的建立將需要3次握手。

另外猬腰,為了獲得適當(dāng)?shù)膫鬏斔俣?鸟废,則需要TCP花費(fèi)額外的回路鏈接時(shí)間(RTT)。每一次鏈接的建立需要這種經(jīng)常性的開(kāi)銷姑荷,而其并不帶有實(shí)際有用的數(shù)據(jù)盒延,只是保證鏈接的可靠性,因此HTTP/1.1提出了可持續(xù)鏈接的實(shí)現(xiàn)方法厢拭。HTTP/1.1將只建立一次TCP的鏈接而重復(fù)地使用它傳輸一系列的請(qǐng)求/響應(yīng) 消息,因此減少了鏈接建立的次數(shù)和經(jīng)常性的鏈接開(kāi)銷撇叁。

?

3供鸠、結(jié)論:雖然HTTP本身是一個(gè)協(xié)議,但其最終還是基于TCP的陨闹。不過(guò)楞捂,目前薄坏,有人正在研究基于TCP+UDP混合的HTTP協(xié)議。

?

具體介紹

?

IP (網(wǎng)際協(xié)議)

?

在網(wǎng)絡(luò)通信中寨闹,網(wǎng)絡(luò)組件的尋址對(duì)信息的路由選擇和傳輸來(lái)說(shuō)是相當(dāng)關(guān)鍵的胶坠。相同網(wǎng)絡(luò)中的兩臺(tái)機(jī)器間的消息傳輸有各自的技術(shù)協(xié)定。LAN 是通過(guò)提供6字節(jié)的唯一標(biāo)識(shí)符(“MAC”地址)在機(jī)器間發(fā)送消息的繁堡。SNA 網(wǎng)絡(luò)中的每臺(tái)機(jī)器都有一個(gè)邏輯單元及與其相應(yīng)的網(wǎng)絡(luò)地址沈善。DECNET、AppleTalk 和 Novell IPX 均有一個(gè)用來(lái)分配編號(hào)到各個(gè)本地網(wǎng)和工作站的配置椭蹄。

?

?

HTTP是超文本傳輸協(xié)議闻牡,是客戶端瀏覽器或其他程序與Web服務(wù)器之間的應(yīng)用層通信協(xié)議。在Internet上的Web服務(wù)器上存放的都是超文本信息绳矩, 客戶機(jī)需要通過(guò)HTTP協(xié)議傳輸所要訪問(wèn)的超文本信息罩润。HTTP包含命令和傳輸信息,不僅可用于Web訪問(wèn)翼馆,也可以用于其他因特網(wǎng)/內(nèi)聯(lián)網(wǎng)應(yīng)用系統(tǒng)之間的通信割以,從而實(shí)現(xiàn)各類應(yīng)用資源超媒體訪問(wèn)的集成

?

TCP (傳輸控制協(xié)議)

?

通過(guò)序列化應(yīng)答和必要時(shí)重發(fā)數(shù)據(jù)包,TCP 為應(yīng)用程序提供了可靠的傳輸流和虛擬連接服務(wù)应媚。TCP 主要提供數(shù)據(jù)流轉(zhuǎn)送严沥,可靠傳輸,有效流控制珍特,全雙工操作和多路傳輸技術(shù)祝峻。可查閱 TCP 部分獲取更多詳細(xì)資料扎筒。

?

至于HTTP協(xié)議,它是TCP協(xié)議族中的一種莱找。使用TCP80端口

?

?

HTTP是應(yīng)用層協(xié)議,TCP是傳輸層協(xié)議嗜桌!

?

數(shù)據(jù)包在網(wǎng)絡(luò)傳輸過(guò)程中奥溺,HTTP被封裝在TCP包內(nèi)!骨宠!

?

?

1. TCP/UDP

?

?

面向連接的TCP

?

“面向連接”就是在正式通信前必須要與對(duì)方建立起連接浮定。比如你給別人打電話,必須等線路接通了层亿、對(duì)方拿起話筒才能相互通話桦卒。

?

?

TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議匿又,也就是說(shuō)方灾,在正式收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接。一個(gè)TCP連接必須要經(jīng)過(guò)三次“對(duì)話”才能建立起來(lái)裕偿,其中的過(guò)程非常復(fù)雜洞慎,我們這里只做簡(jiǎn)單、形象的介紹嘿棘,你只要做到能夠理解這個(gè)過(guò)程即可劲腿。

?

?

我們來(lái)看看這三次對(duì)話的簡(jiǎn)單過(guò)程:

?

1. 主機(jī)A向主機(jī)B發(fā)出連接請(qǐng)求數(shù)據(jù)包:“我想給你發(fā)數(shù)據(jù),可以嗎鸟妙?”焦人,這是第一次對(duì)話;

?

2. 主機(jī)B向主機(jī)A發(fā)送同意連接和要求同步(同步就是兩臺(tái)主機(jī)一個(gè)在發(fā)送圆仔,一個(gè)在接收垃瞧,協(xié)調(diào)工作)的數(shù)據(jù)包:“可以,你什么時(shí)候發(fā)坪郭?”个从,這是第二次對(duì)話;

?

3. 主機(jī)A再發(fā)出一個(gè)數(shù)據(jù)包確認(rèn)主機(jī)B的要求同步:“我現(xiàn)在就發(fā)歪沃,你接著吧嗦锐!”,這是第三次對(duì)話沪曙。

?

?

三次“對(duì)話”的目的是使數(shù)據(jù)包的發(fā)送和接收同步奕污,經(jīng)過(guò)三次“對(duì)話”之后,主機(jī)A才向主機(jī)B正式發(fā)送數(shù)據(jù)液走。

?

TCP協(xié)議能為應(yīng)用程序提供可靠的通信連接碳默,使一臺(tái)計(jì)算機(jī)發(fā)出的字節(jié)流無(wú)差錯(cuò)地發(fā)往網(wǎng)絡(luò)上的其他計(jì)算機(jī),對(duì)可靠性要求高的數(shù)據(jù)通信系統(tǒng)往往使用TCP協(xié)議傳輸數(shù)據(jù)缘眶。

?

?

我們來(lái)做一個(gè)實(shí)驗(yàn)嘱根,用計(jì)算機(jī)A(安裝Windows 2000 Server操作系統(tǒng))從“網(wǎng)上鄰居”上的一臺(tái)計(jì)算機(jī)B拷貝大小為8,644,608字節(jié)的文件,通過(guò)狀態(tài)欄右下角網(wǎng)卡的發(fā)送和接收指標(biāo)就會(huì)發(fā)現(xiàn):雖然是 數(shù)據(jù)流是由計(jì)算機(jī)B流向計(jì)算機(jī)A巷懈,但是計(jì)算機(jī)A仍發(fā)送了3,456個(gè)數(shù)據(jù)包该抒,如圖2所示。這些數(shù)據(jù)包是怎樣產(chǎn)生的呢顶燕?因?yàn)槲募鬏敃r(shí)使用了TCP/IP協(xié) 議凑保,更確切地說(shuō)是使用了面向連接的TCP協(xié)議,計(jì)算機(jī)A接收數(shù)據(jù)包的時(shí)候涌攻,要向計(jì)算機(jī)B回發(fā)數(shù)據(jù)包欧引,所以也產(chǎn)生了一些通信量。

?

?

如果事先用網(wǎng)絡(luò)監(jiān)視器監(jiān)視網(wǎng)絡(luò)流量恳谎,就會(huì)發(fā)現(xiàn)由此產(chǎn)生的數(shù)據(jù)流量是9,478,819字節(jié)芝此,比文件大小多出10.96%(如圖3所示),原因不僅在于數(shù)據(jù)包和幀本身占用了一些空間,而且也在于TCP協(xié)議面向連接的特性導(dǎo)致了一些額外的通信量的產(chǎn)生癌蓖。

?

?

面向非連接的UDP協(xié)議

?

“面向非連接”就是在正式通信前不必與對(duì)方先建立連接,不管對(duì)方狀態(tài)就直接發(fā)送婚肆。這與現(xiàn)在風(fēng)行的手機(jī)短信非常相似:你在發(fā)短信的時(shí)候租副,只需要輸入對(duì)方手機(jī)號(hào)就OK了。

?

UDP(User Data Protocol较性,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對(duì)應(yīng)的協(xié)議用僧。它是面向非連接的協(xié)議,它不與對(duì)方建立連接赞咙,而是直接就把數(shù)據(jù)包發(fā)送過(guò)去责循!

?

?

UDP 適用于一次只傳送少量數(shù)據(jù)、對(duì)可靠性要求不高的應(yīng)用環(huán)境攀操。比如院仿,我們經(jīng)常使用“ping”命令來(lái)測(cè)試兩臺(tái)主機(jī)之間TCP/IP通信是否正常,其實(shí) “ping”命令的原理就是向?qū)Ψ街鳈C(jī)發(fā)送UDP數(shù)據(jù)包速和,然后對(duì)方主機(jī)確認(rèn)收到數(shù)據(jù)包歹垫,如果數(shù)據(jù)包是否到達(dá)的消息及時(shí)反饋回來(lái),那么網(wǎng)絡(luò)就是通的颠放。例如排惨, 在默認(rèn)狀態(tài)下,一次“ping”操作發(fā)送4個(gè)數(shù)據(jù)包碰凶。大家可以看到暮芭,發(fā)送的數(shù)據(jù)包數(shù)量是4包,收到的也是4包(因?yàn)閷?duì)方主機(jī)收到后會(huì)發(fā)回一 個(gè)確認(rèn)收到的數(shù)據(jù)包)欲低。這充分說(shuō)明了UDP協(xié)議是面向非連接的協(xié)議辕宏,沒(méi)有建立連接的過(guò)程。正因?yàn)閁DP協(xié)議沒(méi)有連接的過(guò)程伸头,所以它的通信效果高匾效;但也正因?yàn)槿绱耍目煽啃圆蝗鏣CP協(xié)議高恤磷。QQ就使用UDP發(fā)消息面哼,因此有時(shí)會(huì)出現(xiàn)收不到消息的情況。

TCPUDP

是否連接面向連接面向非連接

傳輸可靠性可靠不可靠

應(yīng)用場(chǎng)景傳輸大量數(shù)據(jù)扫步,對(duì)可靠性要求較高的場(chǎng)合傳送少量數(shù)據(jù)魔策,對(duì)可靠性要求不高的場(chǎng)景

速度慢快

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市河胎,隨后出現(xiàn)的幾起案子闯袒,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,376評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件政敢,死亡現(xiàn)場(chǎng)離奇詭異其徙,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)喷户,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門唾那,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人褪尝,你說(shuō)我怎么就攤上這事闹获。” “怎么了河哑?”我有些...
    開(kāi)封第一講書人閱讀 156,966評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵避诽,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我璃谨,道長(zhǎng)沙庐,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 56,432評(píng)論 1 283
  • 正文 為了忘掉前任佳吞,我火速辦了婚禮轨功,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘容达。我一直安慰自己古涧,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,519評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布花盐。 她就那樣靜靜地躺著羡滑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪算芯。 梳的紋絲不亂的頭發(fā)上柒昏,一...
    開(kāi)封第一講書人閱讀 49,792評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音熙揍,去河邊找鬼职祷。 笑死,一個(gè)胖子當(dāng)著我的面吹牛届囚,可吹牛的內(nèi)容都是我干的有梆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼意系,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼泥耀!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蛔添,我...
    開(kāi)封第一講書人閱讀 37,701評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤痰催,失蹤者是張志新(化名)和其女友劉穎兜辞,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夸溶,經(jīng)...
    沈念sama閱讀 44,143評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡逸吵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,488評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了缝裁。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胁塞。...
    茶點(diǎn)故事閱讀 38,626評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖压语,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情编检,我是刑警寧澤胎食,帶...
    沈念sama閱讀 34,292評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站允懂,受9級(jí)特大地震影響厕怜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蕾总,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,896評(píng)論 3 313
  • 文/蒙蒙 一粥航、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧生百,春花似錦递雀、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,742評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至市俊,卻和暖如春杨凑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背摆昧。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工撩满, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人绅你。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓伺帘,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親忌锯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子曼追,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,494評(píng)論 2 348

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