一臉懵逼的Socket http對比

2021-07-24 08:27:03 字數 1296 閱讀 9512

標籤(空格分隔): http tcp

今天整理一下已經懵逼好久的socket,http。想要弄清出他們的區別,首先要弄清一下tcp/ip協議。

每一抽象層建立在低一層提供的服務上,並且為高一層提供服務,看起來大概是這樣子的每一抽象層建立在低一層提供的服務上,並且為高一層提供服務,看起來大概是這樣子的

這樣應該很清楚各自處的位置吧。

http協議:超文字傳輸協議, 對應於應用層.

tcp協議:傳輸控制協議,對應於傳輸層.

ip協議:對應於網路層.

socket是對tcp/ip協議的封裝,socket只是個介面,不是協議

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

當然,除了tcp,也可以使用udp協議來傳遞資料.

二.http連線,tcp(socket)連線的區別

要想明白socket,必須要理解tcp連線.

建立tcp連線的」三次握手」:

第一次:客戶端向伺服器傳送syn包(syn=j),同時自己處於syn_send狀態.

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

第三次:客戶端收到伺服器發來的syn+ack包,就向伺服器傳送syn(syn=k+1),傳送完畢後,伺服器和客戶端都進入established狀態.完成三次握手.

握手過程中,並不傳輸資料.在握手後,伺服器與客戶端才開始傳輸資料,理想狀態下,tcp連線一旦建立,在通訊雙方中的任何一方主動斷開連線之前,tcp連線會一直保持下去(也就是通常說的長連線).

http最顯著的特點:客戶端傳送請求都需要伺服器端回送響應.請求結束後,主動釋放鏈結,銷毀連線.http是一種短連線.通常的做法是,不需要任何資料,也要保持每隔一段時間向伺服器傳送」保持連線」的請求.這樣可以保證客戶端在伺服器端是」上線」狀態.

http連線使用的是」請求-響應」方式,不僅在請求時建立連線,而且客戶端向伺服器端請求後,伺服器才返回資料.

一臉懵逼的演算法系列之漢諾塔

法國數學家愛德華 盧卡斯曾編寫過乙個印度的古老傳說 在世界中心貝拿勒斯 在印度北部 的聖廟裡,一塊黃銅板上插著三根寶石針。印度教的主神梵天在創造世界的時候,在其中一根針上從下到上地穿好了由大到小的64片金片,這就是所謂的漢諾塔。不論白天黑夜,總有乙個僧侶在按照下面的法則移動這些金片 一次只移動一片,...

Docker基礎 從一臉懵到入門

虛擬化技術是一種計算機資源管理技術,是將計算機的各種實體資源,如伺服器 網路 記憶體及儲存等,予以抽象 轉換後呈現出來。虛擬化技術打破了計算機實體結構間的,不可切割的障礙。使使用者可以比原本的組態更好的方式,來應用這些資源。虛擬化技術主要作用 高效能的物理硬體產能過剩和老的舊的硬體產能過低的重組重用...

機器學習一臉懵筆記 04 線性代數

第01天 機器學習的線性代數 第02天 線性代數 第03天 向量 第04天 矩陣 第05天 矩陣型別和運算 第06天 矩陣分解 第07天 奇值分解 2020.01.28 機器學習實踐者應該加深對線性代數理解!理由如下 你需要學習線性代數符號 你需要能夠讀寫向量和矩陣符號。在書籍 和 上都用向量和矩陣...