狀態碼
狀態碼的職責是當客戶端想伺服器端傳送請求時,描述返回的請求結果。藉助狀態碼,使用者可以知道伺服器端是正常的處理了請求還是出現了錯誤。
數字中的第一位指定了響應類別,後兩位無分類.
2xx成功
- 200:OK, 請求成功
- 204:No Content, 服務端接收的請求已經成功處理,但是返回的響應報文中不包含實體的主體部分, 另外也不允許返回任何實體的主體.
- 206:Partial Content, 客戶端進行了範圍請求,而伺服器成功執行了這部分的GET請求.
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。
4xx客戶端錯誤
4xx的響應結果表明客戶端是傳送錯誤的原因所在.
- 400:Bad Request, 請求報文中存在語法錯誤.
- 401:Unauthorized, 請求需要有通過HTTP認證(BASIC認證,DIGEST認證)的資訊.
- 403:Forbidden, 表明對請求資源的訪問被伺服器拒絕了.
- 404:Not Found, 表明伺服器上無法找到請求的資源.
5xx伺服器錯誤
5xx的響應結果表明伺服器本身傳送錯誤.
- 501:Internal Server Error, 表明伺服器端在執行請求時發生了錯誤.
- 503:Service Unavailable, 表明伺服器暫時處在超負荷或者正在進行停機維護,現在無法請求.如果事先得知解除以上狀況需要的時間, 最好寫入Retry-After首部欄位返回給客戶端.