APP開發實戰19 TCP和HTTP連線

2021-07-11 20:13:12 字數 1193 閱讀 3865

手機能夠使用聯網功能是因為手機底層實現了

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連線的請求,斷開過程需要經過

「四次握手」。

協議即超文字傳送協議

(hypertext transfer protocol )

,是web

聯網的基礎,也是手機聯網常用的協議之一,

協議是建立在

tcp協議之上的一種應用。

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

「一次連線」。

(1)在http 1.0

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

(2)在

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

APP開發實戰20 TCP和UDP區別

tcp提供的是面向連線服務,傳輸資料要經過三個階段 1 資料傳輸前,先建立連線 2 連線建立後再傳輸資料 3 資料傳送完後,釋放連線 tcp所做的工作包括把應用程式交給它的資料分成合適的小塊交給下面的網路層,確認接收到的分組,設定傳送最後確認分組的超時時鐘等,可確保資料傳送的次序和傳輸的可靠性。由於...

APP開發實戰24 HTTP協議簡介

http 超文字傳輸協議 hypertexttransfer protocol 是網際網路 上應用最為廣泛的一種網路協議 是全球資訊網協會 world wide web consortium 和internet工作小組 internet engineeringtask force 合作的結果,二者發...

APP開發實戰30 HTTP頭欄位介紹2

允許客戶端向伺服器傳遞關於請求或者關於客戶機的附加資訊。請求頭欄位可能包含下列欄位accept accept charset accept encoding accept language authorization from host if modified since if match if n...