2020久久超碰欧美精品最新亚洲欧美日韩久久精品,国产福利电影一区二区三区,亚洲欧美日韩一区在线观看,亚洲国产欧美日韩欧美特级,亚洲欧美日韩成人一区久久,欧美日韩精品一区二区三区不卡,国产欧美日韩va另类影音先锋,亚洲欧美日韩久久精品,亚洲欧美日韩国产成人精品影院,亚洲国产欧美日韩精品一区二区三区,欧美日韩国产成人高清视频,日韩久久精品国产免费观看频道,久久人人爽人人爽从片av高清,国产精品综合一区二区

首頁技術文章正文

HTTP三次握手和四次揮手

更新時間:2018-08-09 來源:黑馬程序員 瀏覽量:

每當建立一個TCP/IP連接的時候都要經歷3次握手,這是為了保證建立一個可靠的連接。

三次握手

客戶端向服務器發請求,服務器接收請求,服務器接收請求之后發送一個連接標志,客戶端接收連接標志之后也向服務器發送一個連接標志,至此連接完成。

生活中的栗子: 小明和小麗的故事。話說有一天小麗給小明說我喜歡你(syn,一次握手) 小明聽到小麗的的表白后說知道了,我也喜歡你,也說了聲(ack, syn, 二次握手) ,小麗聽到小名說喜歡自己以后,說我知道了 (ack, 三次握手)

第一次握手:主機A發送位碼為syn=1,隨機產生seq number=1234567的數據包到服務器,主機B由SYN=1知道,A要求建立聯機;

第二次握手:主機B收到請求后要確認聯機信息,向A發送ack number=(主機A的seq+1),syn=1,ack=1,隨機產生seq=7654321的包

第三次握手:主機A收到后檢查ack number是否正確,即第一次發送的seq number+1,以及位碼ack是否為1,若正確,主機A會再發送ack number=(主機B的seq+1),ack=1,主機B收到后確認seq值與ack=1則連接建立成功。
四次揮手

為什么有4次揮手呢,4次揮手的作用就是斷開連接,之所以要斷開連接是因為TCP/IP協議是要占用端口的,而計算機的端口是有限的,所以一次傳輸完成之后是要斷開連接的,斷開連接的方式就是4次揮手。

還是小明和小麗的故事:話說小名和小麗在一起后小明發現自己零花錢不夠花了,也沒有時間玩游戲了,然后就給小麗說我們分手把(FIN, 第一次揮手),這個時候小麗可能很難過說知道了(ack, 第二次揮手),,很久很久都沒有說話,過了很久小麗說我同意分手了(FIN, 第三次揮手),這個時候小明說,管你了,我早就和你分手了(ack,第四次揮手)

由于 TCP 連接是全雙工的,因此每個方向都必須單獨進行關閉。這個原則是當一方完成它的數據發送任務后就能發送一個FIN 來終止這個方向的發送通道。收到一個 FIN 只意味著這一方向上沒有數據流動,一個 TCP 連接在收到一個 FIN 后仍能發送數據。首先進行關閉的一方將執行主動關閉,而另一方執行被動關閉。

客戶端 A 發送一個 FIN ,用來關閉客戶 A 到服務器 B 的數據傳送。服務器 B 收到這個 FIN ,它發回一個 ACK ,確認序號為收到的序號加 1。和 SYN 一樣,一個FIN 將占用一個序號。服務器 B 關閉與客戶端 A 的連接,發送一個 FIN 給客戶端 A 。客戶端 A 發回 ACK 報文確認,并將確認序號設置為收到序號加 1 。
HTTP 請求響應常見狀態碼100~199:表示成功接收請求,要求客戶端繼續提交下一次請求才能完成整個處理過程。200~299:表示成功接收請求并已完成整個處理過程。常用200300~399:為完成請求,客戶需進一步細化請求。例如:請求的資源已經移動一個新地址、常用302(意味著你請求我,我讓你去找別人),307和304(我不給你這個資源,自己拿緩存)400~499:客戶端的請求有錯誤,常用404(意味著你請求的資源在web服務器中沒有)403(服務器拒絕訪問,權限不夠)500~599:服務器端出現錯誤,常用500    

   


作者:黑馬程序員javaEE培訓學院
首發:http://java.itheima.com/


分享到:
在線咨詢 我要報名
和我們在線交談!