HTTP的狀態碼

OneAlon發表於2017-12-21

狀態碼

狀態碼的職責是當客戶端想伺服器端傳送請求時,描述返回的請求結果。藉助狀態碼,使用者可以知道伺服器端是正常的處理了請求還是出現了錯誤。

HTTP的狀態碼

數字中的第一位指定了響應類別,後兩位無分類.

2xx成功

  • 200:OK, 請求成功
  • 204:No Content, 服務端接收的請求已經成功處理,但是返回的響應報文中不包含實體的主體部分, 另外也不允許返回任何實體的主體.
  • 206:Partial Content, 客戶端進行了範圍請求,而伺服器成功執行了這部分的GET請求.

HTTP的狀態碼

HTTP的狀態碼

HTTP的狀態碼

3xx重定向

3xx的響應表明客戶端需要執行某些特殊的處理才能正確請求.

  • 301:Moved Permanently, 永久性重定向, 表示請求的資源已經被分配到了新的URI, 以後請求都是用現在所指的URI.
  • 302:Found, 臨時性重定向, 表示請求的資源已被分配到新的URI, 希望使用者(本次)能使用新的URI訪問.和301狀態類似,但是302狀態碼代表的資源不是被永久移動,只是臨時性質的。
  • 303:See Other,該狀態碼錶示由於請求對應的資源存在著另一個URI,應使用GET方法定向獲取請求的資源。303狀態碼和302狀態碼有著相同的功能,但是303狀態碼錶明客戶端應採用GET方法獲取資源,這點與302狀態碼有區別。
  • 304:Not Modified,改狀態表示客戶端傳送附帶條件的請求時,服務端允許請求訪問資源,但未滿足條件的情況。304狀態碼返回時不包含響應的主體部分。304雖然被劃分在3XX,但是與重定向無關。
  • 307:Temporary Redirect,臨時重定向,與302有相同的含義,但是307不會將POST改為GET。

HTTP的狀態碼

HTTP的狀態碼

4xx客戶端錯誤

4xx的響應結果表明客戶端是傳送錯誤的原因所在.

  • 400:Bad Request, 請求報文中存在語法錯誤.
  • 401:Unauthorized, 請求需要有通過HTTP認證(BASIC認證,DIGEST認證)的資訊.
  • 403:Forbidden, 表明對請求資源的訪問被伺服器拒絕了.
  • 404:Not Found, 表明伺服器上無法找到請求的資源.

HTTP的狀態碼
HTTP的狀態碼
HTTP的狀態碼
HTTP的狀態碼

5xx伺服器錯誤

5xx的響應結果表明伺服器本身傳送錯誤.

  • 501:Internal Server Error, 表明伺服器端在執行請求時發生了錯誤.
  • 503:Service Unavailable, 表明伺服器暫時處在超負荷或者正在進行停機維護,現在無法請求.如果事先得知解除以上狀況需要的時間, 最好寫入Retry-After首部欄位返回給客戶端.

HTTP的狀態碼
HTTP的狀態碼

相關文章