http協議詳解、TCP協議的三握手四揮手

1.請求報文

   請求報文是由請求方法、請求 URI、協議版本、可選的請求首部字段和內容實體構成的。

2.響應報文

   響應報文基本上由協議版本、狀態碼(表示請求成功或失敗的數字代碼)、用以解釋狀態碼的原因短語、可選的響應首部字段以及實體主體構成。

 常見的狀態碼:

200 OK   

301 Moved Permanently(表示請求的資源已被分配了新的 URI,以後應使用資源現在所指的 URI),常見的是url最後少個‘/’

302 臨時移動(臨時性重定向。該狀態碼錶示請求的資源已被分配了新的 URI,希望用戶(本次)能使用新的 URI 訪問)

400 錯誤請求(表示請求報文中存在語法錯誤,但瀏覽器會像 200 OK 一樣對待該狀態碼)

401 未授權(表示發送的請求需要有通過 HTTP 認證(BASIC 認證、DIGEST 認證)的認證信息)

403 禁止(表明對請求資源的訪問被服務器拒絕了)

404 未找到(表明服務器上無法找到請求的資源)

500 服務器內部錯誤(表明服務器端在執行請求時發生了錯誤)

502 錯誤網關  作爲網關或者代理工作的服務器嘗試執行請求時,從上游服務器接收到無效的響應。

3.TCP三次握手

  (1)建立連接。客戶端發送連接請求報文段,客戶端進入SN_SEND狀態,等待服務器的確認;

  (2)服務器收到SYN報文段。服務器將SYN+ACK報文段發送給客戶端,此時服務器進入SYN_RECV狀態;

  (3)客戶端收到服務器的SYN+ACK報文段。向服務器發送ACK報文,這個報文段發送完畢以後,客戶端和服務器端完成TCP             三次握手;

4.TCP四次揮手

  (1)第一次揮手:主機1(可以是客戶端也可以是服務器端)向主機2發送一個FIN報文段,表示主機1沒有數據要發送給主機2                                   了;

  (2)第二次揮手:主機2收到了主機1發送的FIN報文段,向主機1 回一個ACK報文段,主機2告訴主機1,我“同意”你的關閉請                                     求;

  (3)第三次揮手:主機2向主機1發送FIN報文段,請求關閉連接,同時主機2進入LAST_ACK狀態;

  (4)第四次揮手:主機1收到主機2發送的FIN報文段,向主機2發送ACK報文段,主機2收到主機1的ACK報文段關閉連接,此                                   時主機1等待了2MSL後沒有收到回覆,則證明Server端已正常關閉,主機1也關閉連接了;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章