TCP與UDP的區別,以及Http和Socket

2021-07-24 18:56:30 字數 1407 閱讀 4476

udp:

tcp面向有鏈結的通訊服務

udp面向無連線的通訊服務

tcp提供可靠的通訊傳輸

udp不可靠,會丟包

tcp保證資料順序

udp不保證

tcp資料無邊界

udp有邊界

tcp速度慢

udp速度快

tcp面向位元組流

udp面向報文

tcp一對一

udp可以一對一,一對多

tcp報頭至少20位元組

udp報頭8位元組

tcp有流量控制,擁塞控制

udp沒有

為什麼udp比tcp快

tcp需要三次握手

tcp有擁塞控制,控制流量等機制

為什麼tcp比udp可靠

tcp是面向有連線的,建立連線之後才傳送資料;而udp則不管對方存不存在都會傳送資料。

tcp有確認機制,接收端每收到乙個正確包都會回應給傳送端。超時或者資料報不完整的話傳送端會重傳。udp沒有。因此可能丟包。

什麼時候使用tcp

什麼時候應該使用udp:

tcp無邊界,udp有邊界

tcp無邊界

客戶端分多次傳送資料給伺服器,若伺服器的緩衝區夠大,那麼伺服器端會在客戶端傳送完之後一次性接收過來,所以是無邊界的;

udp有邊界

客戶端每傳送一次,伺服器端就會接收一次,也就是說傳送多少次就會接收多少次,因此是有邊界的。

知道了tcp和udp的區別,就不難理解為何採用tcp傳輸協議的msn比採用udp的qq傳輸檔案慢了,但並不能說qq的通訊是不安全的,

因為程式設計師可以手動對udp的資料收發進行驗證,比如傳送方對每個資料報進行編號然後由接收方進行驗證啊什麼的

http鏈結的特點

http協議即超文字傳送協議(hypertext transfer protocol ),是web聯網的基礎,也是手機聯網常用的協議之一,http協議是建立在tcp協議之上的一種應用。

http連線最顯著的特點是客戶端傳送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連線。從建立連線到關閉連線的過程稱為「一次連線」。

post和get的區別

post一般用於更新或者新增資源資訊

get一般用於查詢操作,而且應該是安全和冪等的

post更加安全

get會把請求的資訊放到url的後面

post傳輸量一般無大小限制

get不能大於2kb

post執行效率低

get執行效率略高

為什麼post效率低,get效率高

socket:

socket是對tcp/ip協議的封裝,socket本身並不是協議,而是乙個呼叫介面(api)。

通過socket,我們才能使用tcp/ip協議。

TCP協議的概念以及與UDP的區別

tcp的概念 transmission control protocol 傳輸控制協議 是一種面向連線 連線導向 的 可靠的 基於ip的傳輸層協議,由ietf的rfc 793說明 specified tcp在ip報文的協議號是6。一 傳輸控制協議 1 面向連線意味著兩個使用tcp的應用 通常是乙個客...

TCP與UDP的區別

面向連線的tcp 面向連線 就是在正式通訊前必須要與對方建立起連線。比如你給別人打 必須等線路接通了 對方拿起話筒才能相互通話。tcp協議能為應用程式提供可靠的通訊連線,使一台計算機發出的位元組流無差錯地發往網路上的其他計算機,對可靠性要求高的資料通訊系統往往使用tcp協議傳輸資料。面向非連線的ud...

tcp 與udp 的區別

tcp提供面向連線 可靠的位元組流服務。udp提供面向資料報的傳輸層協議。1.tcp 提供客戶與伺服器之間的連線。tcp客戶與某個伺服器建立乙個連線,再跨跨該連線與伺服器交換資料,最後終止連線。2.tcp提供可靠性。當tcp向對端傳送資料時,要求對端返回乙個確認。如果沒收到確認,tcp就自動重傳資料...