HTTP請求與響應步驟

HTTP請求與響應步驟

http請求和響應,說白了就是計算機之間的問答對話。http請求是提問者,http響應是回答者。詳細步驟如下所示。

  1. 建立連接
    先解析DNS,例如把localhost變成ip(127.0.0.1),然後根據127.0.0.1和端口號8080(沒有端口號則使用默認的端口)建立socket。也可以理解爲通過“三次握手”建立TCP連接,確定通訊正常。

  2. 發送請求命令
    socket建立好之後,客戶端開始向web服務器發送請求命令(GET/POST等)。

  3. 發送請求頭(和請求正文如果有)
    客戶端先發送與自身相關的信息,再發送空行表示請求頭髮送完畢,如果是post則繼續發送請求正文。

  4. 回傳狀態行
    應答第一步,發送協議版本和狀態碼(200、503、404等)

  5. 回傳應答頭
    應答第二步,先發送自身相關信息、Content-Type(必須)及被請求的文檔。

  6. 回傳應答正文
    應答第三步,根據應答頭的Content-Type指定的格式發送應答正文。

  7. 關閉連接
    一次‘會話’完成,如果設置了Connection:keep-alive則TCP連接不關閉,否則關閉連接。

PS:常見狀態碼

1xx:指示信息–表示請求已接收,繼續處理。
2xx:成功–表示請求已被成功接收、理解、接受。
3xx:重定向–要完成請求必須進行更進一步的操作。
4xx:客戶端錯誤–請求有語法錯誤或請求無法實現。
5xx:服務器端錯誤–服務器未能實現合法的請求。

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