(1)TCP是面向連接的哎壳,UDP是無連接的,即發(fā)送數(shù)據(jù)前不需要先建立鏈接尚卫。
(2)TCP提供可靠的服務(wù)归榕。也就是說,通過TCP連接傳送的數(shù)據(jù)吱涉,無差錯刹泄,不丟失,不重復(fù)怎爵,且按序到達(dá)特石;UDP盡最大努力交付,即不保證可靠交付疙咸。 并且因?yàn)閠cp可靠县匠,面向連接,不會丟失數(shù)據(jù)因此適合大數(shù)據(jù)量的交換撒轮。
(3)TCP是面向字節(jié)流乞旦,UDP面向報(bào)文,并且網(wǎng)絡(luò)出現(xiàn)擁塞不會使得發(fā)送速率降低(因此會出現(xiàn)丟包题山,對實(shí)時的應(yīng)用比如IP電話和視頻會議等)兰粉。
(4)TCP只能是1對1的,UDP支持1對1顶瞳、1對多玖姑。
(5)TCP的首部較大為20字節(jié),而UDP只有8字節(jié)慨菱。
(6)TCP是面向連接的可靠性傳輸焰络,而UDP是不可靠的。
(7)TCP和UDP都是傳輸層的協(xié)議符喝,HTTP是在應(yīng)用層的一個協(xié)議
(8)HTTP協(xié)議基于請求\響應(yīng)模型的闪彼,并且是基于TCP協(xié)議的。
HTTP協(xié)議是建立在請求/響應(yīng)模型上的协饲。首先由客戶建立一條與服務(wù)器的TCP鏈接畏腕,并發(fā)送一個請求到服務(wù)器,請求中包含請求方法茉稠、URL描馅、協(xié)議版本以及相關(guān)的MIME樣式的消息。服務(wù)器響應(yīng)一個狀態(tài)行而线,包含消息的協(xié)議版本铭污、一個成功和失敗碼以及相關(guān)的MIME式樣的消息恋日。
(9)HTTP/1.0為多次的TCP鏈接,HTTP/1.1提出了可持續(xù)鏈接即只建立一次TCP鏈接况凉。
因此一個包含HTML內(nèi)容和圖片的頁面將需要建立多次的短期的TCP鏈接谚鄙。一次TCP鏈接的建立將需要3次握手。另外刁绒,為了獲得適當(dāng)?shù)膫鬏斔俣让朴瑒t需要TCP花費(fèi)額外的回路鏈接時間(RTT)。每一次鏈接的建立需要這種經(jīng)常性的開銷知市,而其并不帶有實(shí)際有用的數(shù)據(jù)傻盟,只是保證鏈接的可靠性,因此HTTP/1.1提出了可持續(xù)鏈接的實(shí)現(xiàn)方法嫂丙。HTTP/1.1將只建立一次TCP的鏈接而重復(fù)地使用它傳輸一系列的請求/響應(yīng)消息娘赴,因此減少了鏈接建立的次數(shù)和經(jīng)常性的鏈接開銷。