<dl draggable='6ad57uv'><i id='tkpzy2'></i></dl>

          <abbr lang='bij2lxm'></abbr>
          <aside id='zxj4rsn'><q dir='gx34pcx'></q></aside>
        1. 文章熱詞:HTTP協議,三次握手

          日期:2019-03-09 13:33 by 楊國偉 2710 0 收藏
          我要分享

          摘要:在Http工作之前,Web浏覽器通過網絡和Web服務器建立鏈連接,該連接是通過Tcp來完成的,該協議和Ip共同組成了Internet,即著名的Tcp/Ip協議族,因此Internet也被稱爲Tcp/Ip網絡,Http是比Tcp更高的應用層協議,一般Tcp接口的端口好是80。

          在Http工作之前,Web浏覽器通過網絡和Web服務器建立鏈連接,該連接是通過Tcp來完成的,該協議和Ip共同組成了Internet,即著名的Tcp/Ip協議族,因此Internet也被稱爲Tcp/Ip網絡,Http是比Tcp更高的應用層協議,一般Tcp接口的端口好是80。

          timg.jpg

            

          當建立協議的時候,tcp進行了3次握手:

          1、客戶端發送了一個帶有SYN的Tcp報文到服務器,這個三次握手中的開始。表示客戶端想要和服務端建立連接。 主機A發送位碼爲syn=1,随機産生seq number=1234567的數據包到服務器,主機B由SYN=1知道,A要求建立聯機。

          2、服務端接收到客戶端的請求,返回客戶端報文,這個報文帶有SYN和ACK标志,詢問客戶端是否準備好。 主機B收到請求後要确認聯機信息,向A發送ack number=(主機A的seq+1),syn=1,ack=1,随機産生seq=7654321的包。

          3、客戶端再次響應服務端一個ACK,表示我已經準備好。主機A收到後檢查ack number是否正确,即第一次發送的seq number+1,以及位碼ack是否爲1,若正确,主機A會再發送ack number=(主機B的seq+1),ack=1,主機B收到後确認seq值與ack=1則連接建立成功。

          當終止協議的時候,tcp進行了4次握手:

          由于Tcp連接是進行全雙工工作的,因此每個方向都必須單獨進行關閉,這個原則是當一方完成他的數據發送的時候就發送一個FIN來終止這個方向的連接,收到這個FIN意味着這個方向上沒有數據的流動,一個TCP連接在收到這個FIN之後還能發送消息,首先執行關閉的一方進行主動的關閉,而另一方進行被動的關閉。 

          1、TCP發送一個FIN,用來關閉客戶到服務端的連接。 
          2、服務端收到這個FIN,他發回一個ACK,确認收到序号爲收到序号+1,和SYN一樣,一個FIN将占用一個序号。 
          3、服務端發送一個FIN到客戶端,服務端關閉客戶端的連接。 
          4、客戶端發送ACK報文确認,并将确認的序号+1,這樣關閉完成。

          上一篇:移動端網頁實現搖一搖打開咨詢連接的方法

          下一篇:俗話說,俗話又說,誰寫的,笑死我了!


          評論