http與tcp,udp的區別


1.網絡協議的概念

(1)在學習網絡課程的時候,老師會講iso七層模型,有應用層 表示層 會話層 傳輸層 網絡層 數據鏈路層 物理層,其中http就屬於應用層,tcp與udp是屬於傳輸層,如圖1.1(百度百科copy)

 

圖1-1

(2)除了7層模型還有一個就是4層模型,叫做tcp/ip協議族,分為應用層,傳輸層,internet層 網絡層接入層四個層次 圖1-2

 

 

 

圖1-2

 

2.http和tcp的區別

(1)層次不同,http屬於應用層,tcp屬於傳輸層

 3.http和tcp的聯系(參考https://www.cnblogs.com/gotodsp/p/6366163.html

(1)http是基於tcp,就相當於生活中的吃飯時候你都會用到碗,這個碗就是tcp,吃飯這件事情就相當於http,因為我們http發送數據之前,會先進行tcp三次握手,記住這時候只是發送一些狀態碼的確認等,並沒有對http的數據進行發送。

(2)http長連接和短連接,其實就是tcp長連接與短連接,在HTTP/1.0中默認使用短連接。也就是說,客戶端和服務器每進行一次HTTP操作,就建立一次連接,請求結束就中斷連接,HTTP1.1就使用長連接,

用長連接的HTTP協議,會在響應頭加入這行代碼:

Connection:keep-alive

  

使用長連接每次打開一個網頁除了第一次需要三次握手連接,接下來請求服務器就不用再握手了,就一直使用這個連接,這個keep-alive不會永久保持,這個可以在服務器端設置

(3)長連接和短連接簡短概括

短連接就相當於每次一碗飯就去換一個碗,長連接就是每次吃飯都使用這個碗

4.tcp和udp的區別

(1)tcp是面向連接的,udp不是面向連接的,怎么說呢?就相當於我們生活中打電話或者微信聊天,要先嘟嘟嘟連接,之后才可以打電話聊天,這個就是面向連接的,也是比較可靠的,udp是不用先去做連接的,所以叫做面向非連接,類似生活中發短信,直接發送過去

(2)看圖表(參考https://www.cnblogs.com/hanfanfan/p/9579771.html

 

TCP

UDP

是否連接

面向連接

面向非連接

傳輸可靠性

可靠

不可靠

應用場合

傳輸大量的數據,對可靠性要求較高的場合

傳送少量數據、對可靠性要求不高的場景

速度

 

5.疑惑點

(1)有人會問了,為什么http是基於tcp而不是udp呢?

這個tcp協議比較可靠,不過,目前,有人正在研究基於TCP+UDP混合的HTTP協議。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM