TCP UDP HTTP HTTPS之間的區別

2022-03-04 11:11:42 字數 1357 閱讀 4633

網路由下往上分為:

物理層---

資料鏈路層---

網路層 --  ip協議

傳輸層 --  tcp協議

會話層 --

表示層和應用層 --  http協議

1、tcp/ip連線

tcp傳輸控制協議,是一種提供可靠資料傳輸的通用協議

手機能夠使用聯網功能是因為手機底層實現了tcp/ip協議,可以使手機終端機通過無線網路建立tcp連線。tcp協議可以對上層網路提供介面,使上層網路資料的傳輸建立在「無差別」的網路之上。

建立起乙個tcp連線需要經過「三次握手」:

第一次握手:客戶端傳送syn包(syn=j)到伺服器,並進入syn_send狀態,等待伺服器確認;

第二次握手:伺服器收到syn包,必須確認客戶的syn(ack=j+1),同時自己也傳送乙個syn包(syn=k),即syn+ack包,此時伺服器進入syn_recv狀態;

第三次握手:客戶端收到伺服器的syn+ack包,向伺服器傳送確認包ack(ack=k+1),此包傳送完畢,客戶端和伺服器進入established狀態,完成三次握手。

握手過程中傳送的包裡不包含資料,三次握手完畢後,客戶端與伺服器才正式開始傳送資料。理想狀態下,tcp連線一旦建立,在通訊雙方中的任何一方主動關閉連線之前,tcp 連線都將被一直保持下去。斷開連線時伺服器和客戶端均可以主動發起斷開tcp連線的請求,斷開過程需要經過「四次握手」(過程就不細寫了,就是伺服器和客戶端互動,最終確定斷開)

2、udp協議

udp 使用者資料報協議,是乙個面向無連線的協議。採用該協議不需要兩個應用程式先建立連線。udp協議不提供差錯恢復,不能提供資料重傳,因此該協議傳輸資料安全性差。

(1)、tcp面向連線(如打**要先撥號建立連線);udp是無連線的,即傳送資料之前不需要建立連線

(2)、tcp提供可靠的服務。也就是說,通過tcp連線傳送的資料,無差錯,不丟失,不重複,且按序到達;udp盡最大努力交付,即不保證可靠交付

3、http連線

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

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

1)在http 1.0中,客戶端的每次請求都要求建立一次單獨的連線,在處理完本次請求後,就自動釋放連線。

2)在http 1.1中則可以在一次連線中處理多個請求,並且多個請求可以重疊進行,不需要等待乙個請求結束後再傳送下乙個請求。

nil Nil NULL NSNull 之間的區別

nil 是對objective c id 物件賦空值 例如 nsstring string nsstring stringwithformat test string nil 對於objective c 集合類物件 比如陣列物件,字典物件,當我們不需要再使用他們的時候,對他們release 的同時最...

assign,copy,retain之間的區別

assign 簡單賦值,不更改索引計數 reference counting copy 建立乙個索引計數為1的物件,然後釋放舊物件 retain 釋放舊的物件,將舊物件的值賦予輸入物件,再提高輸入物件的索引計數為1 weak 和strong的區別 weak和strong 不同的是 當乙個物件不再有s...

TCP UDP HTTP SOCKET之間的區別

網路層協議 網際協議 ip 位址解析協議 arp 傳輸層協議 傳輸控制協議 tcp 使用者資料報協議 udp 應用層協議 超文字傳輸協議 http 檔案傳輸協議 ftp 遠端登入協議 telnet 網域名稱服務協議 dns 簡單郵件傳輸協議 smtp 郵局協議 pop3 tcp和udp使用ip協議從...