1. 程式人生 > 其它 >HTTP錯誤狀態碼詳解

HTTP錯誤狀態碼詳解

HTTP 狀態碼分為 5 類,如下表所示:
HTTP狀態碼分類 含義
1xx 資訊
2xx 成功
3xx 重定向
4xx 客戶端錯誤
5xx 伺服器錯誤

下面詳細說明一下各個狀態碼的作用:

1xx
  • 100 Continue (繼續) 收到了請求的起始部分,客戶端應該繼續請求。
  • 101 Switching Protocols (切換協議) 伺服器正根據客戶端的指示將協議切換成 Update 首部列出的協議。
2xx
  • 200 OK 伺服器已成功處理請求。
  • 201 Created (已建立) 對那些要伺服器建立物件的請求來說,資源已建立完畢。
  • 202 Accepted (已接受) 請求已接受,但伺服器尚未處理。
  • 203 Non - Authoritative Information (非權威資訊) 伺服器已將事務成功處理,只是實體首部包含的資訊不是來自原始伺服器,而是來自資源的副本。
  • 204 No Content (沒有內容) 響應報文包含一些首部和一個狀態行,但不包含實體的主體內容。
  • 205 Reset Content (重置內容) 另一個主要用於瀏覽器的程式碼。意思是瀏覽器應該重置當前頁面上所有的 HTML 表單。
  • 206 Partial Content (部分內容) 部分請求成功。
3xx
  • 300 Multiple Choices (多項選擇) 客戶端請求了實際指向多個資源的 URL 。這個程式碼是和一個選項列表一起返回的,然後使用者就可以選擇他希望使用的選項了。
  • 301 Moved Permanently (永久搬離) 請求的 URL 已移走。響應中應該包含一個 Location URL ,說明資源現在所處的位置。
  • 302 Found (已找到) 與狀態碼301類似,但這裡的搬離是臨時的。客戶端應該用 Location 首部給出的 URL 對資源進行臨時定位。
  • 303 See Other (參見其他) 告訴客戶端應該用另一個 URL 獲取資源。這個新的 URL 位於響應報文的 Location 首部。
  • 304 Not Modified (未修改) 客戶端可以通過它們所包含的請求首部發起條件請求。這個程式碼說明資源未發生過變化。
  • 305 Use Proxy (使用代理) 必須通過代理訪問資源,代理的位置是在 Location 首部中給出的。
  • 306 這個狀態碼當前並未使用。
  • 307 Temporary Redirect (臨時重定向) 和狀態碼301類似。但客戶端應該用 Location 首部給出的 URL 對資源進行臨時定位。
4xx
  • 400 Bad request (壞請求) 告訴客戶端它傳送了一條異常請求。
  • 401 Unauthorized (未授權) 與適當的首部一起返回,在客戶端獲得資源訪問權之前,請它進行身份認證。
  • 402 當前此狀態碼並未使用,是為未來使用預留的。
  • 403 Forbidden (禁止) 伺服器拒絕了請求。
  • 404 Not Found (未找到) 伺服器無法找到所請求的 URL 。
  • 405 Method Not Alowed (不允許使用的方法) 請求中有一個所請求的 URI 不支援的方法。響應中應該包含一個 Allow 首部,以告知客戶端所請求的資源支援使用哪些方法。
  • 406 Not Acceptable (無法接受) 客戶端可以指定一些引數來說明希望接受哪些型別的實體。伺服器沒有資源與客戶端可接受的 URL 相匹配時可使用此程式碼。
  • 407 Proxy Authentication Required (要求進行代理認證) 和狀態碼401類似,但用於需要進行資源認證的代理伺服器。
  • 408 Request Timeout (請求超時) 如果客戶端完成其請求時花費的時間太長,伺服器可以回送這個狀態碼並關閉連線。
  • 409 Conflict (衝突) 發出的請求在資源上造成了一些衝突。
  • 410 Gone (消失了) 除了伺服器曾持有這些資源之外,與狀態碼404類似。
  • 411 Length Required (要求長度指示) 伺服器要求在請求報文中包含 Content-Length 首部時會使用這個程式碼。發起的請求中若沒有 Content-Length 首部,伺服器是不會接受此資源請求的。
  • 412 Precondition Failed (先決條件失敗) 如果客戶端發起了一個條件請求,如果伺服器無法滿足其中的某個條件,就返回這個響應碼。
  • 413 Request Entity Too Large (請求實體太大) 客戶端傳送的實體主體部分比伺服器能夠或者希望處理的要大。
  • 414 Request URI Too Long (請求 URI 太長) 客戶端傳送的請求所攜帶的請求 URL 超過了伺服器能夠或者希望處理的長度。
  • 415 Unsupported Media Type (不支援的媒體型別) 伺服器無法理解或不支援客戶端所傳送的實體的內容型別。
  • 416 Requested Range Not Satisfiable (所請求的範圍未得到滿足) 請求報文請求的是某範圍內的指定資源,但那個範圍無效,或者未得到滿足。
  • 417 Expectation Failed (無法滿足期望) 請求的 Expect 首部包含了一個預期內容,但伺服器無法滿足。
5xx
  • 500 Internal Server Error (內部伺服器錯誤) 伺服器遇到了一個錯誤,使其無法為請求提供服務。
  • 501 Not Implemented (未實現) 伺服器無法滿足客戶端請求的某個功能。
  • 502 Bad Gateway (閘道器故障) 作為代理或閘道器使用的伺服器遇到了來自響應鏈中上游的無效響應。
  • 503 Service Unavailable (未提供此服務) 伺服器目前無法為請求提供服務,但過一段時間就可以恢復服務。
  • 504 Gateway Timeout (閘道器超時) 與狀態碼408類似,但是響應來自閘道器或代理,此閘道器或代理在等待另一臺伺服器的響應時出現了超時。
  • 505 HTTP Version Not Supported (不支援的 HTTP 版本) 伺服器收到的請求是以它不支援或不願支援的協議版本表示的。