每當建立乙個tcp/ip連線的時候都要經歷3次握手,這是為了保證建立乙個可靠的連線。
客戶端向伺服器發請求,伺服器接收請求,伺服器接收請求之後傳送乙個連線標誌,客戶端接收連線標誌之後也向伺服器傳送乙個連線標誌,至此連線完成。生活中的栗子: 小明和小麗的故事。話說有一天小麗給小明說我喜歡你(syn,一次握手) 小明聽到小麗的的表白後說知道了,我也喜歡你,也說了聲(ack, syn, 二次握手) ,小麗聽到小名說喜歡自己以後,說我知道了 (ack, 三次握手)
為什麼有4次揮手呢,4次揮手的作用就是斷開連線,之所以要斷開連線是因為tcp/ip協議是要占用埠的,而計算機的埠是有限的,所以一次傳輸完成之後是要斷開連線的,斷開連線的方式就是4次揮手。200~299:表示成功接收請求並已完成整個處理過程。常用200還是小明和小麗的故事:話說小名和小麗在一起後小明發現自己零花錢不夠花了,也沒有時間玩遊戲了,然後就給小麗說我們分手把(fin, 第一次揮手),這個時候小麗可能很難過說知道了(ack, 第二次揮手),,很久很久都沒有說話,過了很久小麗說我同意分手了(fin, 第三次揮手),這個時候小明說,管你了,我早就和你分手了(ack,第四次揮手)
由於 tcp 連線是全雙工的,因此每個方向都必須單獨進行關閉。這個原則是當一方完成它的資料傳送任務後就能傳送乙個fin 來終止這個方向的傳送通道。收到乙個 fin 只意味著這一方向上沒有資料流動,乙個 tcp 連線在收到乙個 fin 後仍能傳送資料。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。
400~499:客戶端的請求有錯誤,常用404(意味著你請求的資源在web伺服器中沒有)403(伺服器拒絕訪問,許可權不夠)
500~599:伺服器端出現錯誤,常用500
http三次握手 HTTP三次握手,四次揮手。
三次握手 首先解析伺服器dns,找到ip,然後開始建立連線 1.第一次握手 建立連線,客戶端a傳送syn 1 隨機產生seq client isn的資料報到伺服器b,等待伺服器確認。2.第二次握手 伺服器b收到請求後確認聯機 可以接受資料 發起第二次握手請求,ack a的seq 1 syn 1,隨機...
http三次握手,四次揮手
本文經過借鑑書籍資料 他人部落格總結出的知識點,歡迎提問 序列號seq 佔4個位元組,用來標記資料段的順序,tcp把連線中傳送的所有資料位元組都編上乙個序號,第乙個位元組的編號由本地隨機產生 給位元組編上序號後,就給每乙個報文段指派乙個序號 序列號seq就是這個報文段中的第乙個位元組的資料編號。確認...
HTTP三次握手四次揮手
一 瀏覽器渲染流程 tcp 建立連線 tcp三次握手 傳送http請求 伺服器處理並響應報文 瀏覽器解析並渲染頁面 斷開連線 tcp 結束連線 二 http之tcp三次握手與四次揮手詳解 三次握手 three way handshake 是指建立乙個 tcp 連線時,需要客戶端和伺服器總共傳送3個包...