1. 程式人生 > >12. HTTP協議二:HTTP請求與響應、常見狀態碼

12. HTTP協議二:HTTP請求與響應、常見狀態碼

pro per 多重 並發 not 條件 轉換 tip author

HTTP請求與響應

HTTP請求

HTTP請求是指從客戶端到服務器端的請求消息。HTTP請求主要由三部分構成,請求行、請求頭(headers)、body(請求數據)。
技術分享圖片

技術分享圖片

上圖是筆者用Charles抓包工具抓的一個瀏覽器請求,當然用谷歌瀏覽器F12也是可以的。通過抓包工具我們可以看到當我們向服務器請求時,發送了很多數據給服務器,但主要還是三部分:狀態行、請求頭(headers)、body(數據)。

HTTP響應

當我們向服務器發送一個HTTP請求時,服務器一般都會給出響應。HTTP響應主要由三部分構成,響應行、響應頭(headers)、響應正文。

技術分享圖片

技術分享圖片

常見狀態碼

HTTP響應我們提到狀態碼這個概念,狀態碼一般以1/2/3/4/5 開頭,如下所示:

1xx: 信息響應類,表示接收到請求並且繼續處理
2xx: 處理成功響應類,表示動作被成功接收、理解和接受
3xx: 重定向響應類,為了完成指定的動作,必須接受進一步處理
4xx: 客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執行
5xx: 服務端錯誤,服務器不能正確執行一個正確的請求

常見狀態碼如下所示:
1xx:信息
狀態碼| 描述
:--:|:--:|
100 Continue |服務器僅接收到部分請求,但是一旦服務器並沒有拒絕該請求,客戶端應該繼續發送其余的請求。
101 Switching Protocols |服務器轉換協議:服務器將遵從客戶的請求轉換到另外一種協議。

2xx:信息
狀態碼|描述

:--:|:--:|
200 OK |請求成功(其後是對GET和POST請求的應答文檔。)
201 Created |請求被創建完成,同時新的資源被創建。
202 Accepted |供處理的請求已被接受,但是處理未完成。

3xx:信息
狀態碼 |描述
:--:|:--:|
300 Multiple Choices |多重選擇。鏈接列表。用戶可以選擇某鏈接到達目的地。最多允許五個地址。
301 Moved Permanently |所請求的頁面已經轉移至新的url。
302 Found |所請求的頁面已經臨時轉移至新的url。
303 See Other |所請求的頁面可在別的url下被找到。
304 Not Modified |未按預期修改文檔。客戶端有緩沖的文檔並發出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續使用。

4xx:信息
狀態碼 |描述
:--:|:--:|
400 Bad Request |服務器未能理解請求。
401 Unauthorized |被請求的頁面需要用戶名和密碼。
402 Payment Required |此代碼尚無法使用。
403 Forbidden |對被請求頁面的訪問被禁止。
404 Not Found |服務器無法找到被請求的頁面。

5xx:信息
狀態碼 |描述
:--:|:--:|
500 Internal Server Error |請求未完成。服務器遇到不可預知的情況。

歡迎關註微信公眾號:軟件測試汪。軟件測試交流群:809111560

12. HTTP協議二:HTTP請求與響應、常見狀態碼