HTTP狀態碼(英語:HTTP Status Code)是用以表示網頁服務器超文本傳輸協議響應狀態的3位數字代碼。它由 RFC 2616 規范定義的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 與 RFC 4918 等規范擴展。所有狀態碼的第一個數字代表了響應的五種狀態之一。所示的消息短語是典型的,但是可以提供任何可讀取的替代方案。 除非另有說明,狀態碼是HTTP / 1.1標準(RFC 7231)的一部分。
常見HTTP狀態碼以及代表含義大全
狀態碼 | 原因短語 | 代表含義 | HTTP 版本 |
---|---|---|---|
消息響應 | |||
100 | Continue (繼續) |
客戶端應當繼續發送請求.這個臨時響應是用來通知客戶端它的部分請求已經被服務器接收,且仍未被拒絕.客戶端應當繼續發送請求的剩余部分,或者如果請求已經完成,忽略這個響應.服務器必須在請求完成后向客戶端發送一個最終響應. | HTTP/1.1 可用 |
101 | Switching Protocol (切換協議) |
服務器已經理解了客戶端的請求,并將通過Upgrade消息頭通知客戶端采用不同的協議來完成這個請求。在發送完這個響應最后的空行后,服務器將會切換到 在Upgrade消息頭中定義的那些協議。: 只有在切換新的協議更有好處的時候才應該采取類似措施。例如,切換到新的HTTP版本比舊版本更有優勢,或者切換到一個實時且同步的協議以傳送利用此類特 性的資源。 | HTTP/1.1 可用 |
成功響應 | |||
200 | OK (成功) |
請求成功.成功的意義根據請求所使用的方法不同而不同.
PUT, DELETE, 和 OPTIONS 方法永遠不會返回 200 狀態碼. |
HTTP/0.9 可用 |
201 | Created (已創建) |
請求成功,而且有一個新的資源已經依據請求的需要而建立,通常這是 PUT 方法得到的響應碼. | HTTP/0.9 可用 |
202 | Accepted (已創建) |
服務器已接受請求,但尚未處理。正如它可能被拒絕一樣,最終該請求可能會也可能不會被執行。在異步操作的場合下,沒有比發送這個狀態碼更方便的做法了。:返回202狀態碼的響應的目的是允許服務器接受其他過程的請求(例如某個每天只執行一次的基于批處理的操作),而不必讓客戶端一直保持與服務器的連接直到批處理操作全部完成。在接受請求處理并返回202狀態碼的響應應當在返回的實體中包含一些指示處理當前狀態的信息,以及指向處理狀態監視器或狀態預測的指針,以便用戶能夠估計操作是否已經完成。 | HTTP/0.9 可用 |
203 | Non-Authoritative Information (未授權信息) |
服務器已成功處理了請求,但返回的實體頭部元信息不是在原始服務器上有效的確定集合,而是來自本地或者第三方的拷貝,如果不是上述情況,使用200狀態碼才是最合適的. | HTTP/0.9 and 1.1 |
204 | No Content (無內容) |
該響應沒有響應內容,只有響應頭,響應頭也可能是有用的.用戶代理可以根據新的響應頭來更新對應資源的緩存信息. | HTTP/0.9 可用 |
205 | Reset Content (重置內容) |
告訴用戶代理去重置發送該請求的窗口的文檔視圖. | HTTP/1.1 可用 |
206 | Partial Content (部分內容) |
當客戶端通過使用range頭字段進行文件分段下載時使用該狀態碼 | HTTP/1.1 可用 |
重定向 | |||
300 | Multiple Choice (多種選擇) |
該請求有多種可能的響應,用戶代理或者用戶必須選擇它們其中的一個.服務器沒有任何標準可以遵循去代替用戶來進行選擇. | HTTP/1.0 and later |
301 | Moved Permanently (永久移動) |
該狀態碼表示所請求的URI資源路徑已經改變,新的URL會在響應的Location :頭字段里找到. |
HTTP/0.9 可用 |
302 | Found (臨時移動) |
該狀態碼表示所請求的URI資源路徑臨時改變,并且還可能繼續改變.因此客戶端在以后訪問時還得繼續使用該URI.新的URL會在響應的Location: 頭字段里找到. |
HTTP/0.9 可用 |
303 | See Other (查看其他位置) |
服務器發送該響應用來引導客戶端使用GET方法訪問另外一個URI. | HTTP/0.9 and 1.1 |
304 | Not Modified (未修改) |
告訴客戶端,所請求的內容距離上次訪問并沒有變化. 客戶端可以直接從瀏覽器緩存里獲取該資源. | HTTP/0.9 可用 |
305 | Use Proxy (使用代理) |
所請求的資源必須統過代理才能訪問到.由于安全原因,該狀態碼并未受到廣泛支持. | HTTP/1.1 可用 |
306 | unused (未使用) |
這個狀態碼已經不再被使用,當初它被用在HTTP 1.1規范的舊版本中. | HTTP/1.1 可用 |
307 | Temporary Redirect (臨時重定向) |
服務器發送該響應用來引導客戶端使用相同的方法訪問另外一個URI來獲取想要獲取的資源.新的URL會在響應的Location: 頭字段里找到.與302狀態碼有相同的語義,且前后兩次訪問必須使用相同的方法(GET POST). |
HTTP/1.1 可用 |
308 | Permanent Redirect (永久重定向) |
所請求的資源將永久的位于另外一個URI上.新的URL會在響應的Location: 頭字段里找到.與301狀態碼有相同的語義,且前后兩次訪問必須使用相同的方法(GET POST). |
HTTPbis (試驗草案) |
客戶端錯誤 | |||
400 | Bad Request (錯誤請求) |
因發送的請求語法錯誤,服務器無法正常讀取. | HTTP/0.9 可用 |
401 | Unauthorized (未授權) |
需要身份驗證后才能獲取所請求的內容,類似于403錯誤.不同點是.401錯誤后,只要正確輸入帳號密碼,驗證即可通過. | HTTP/0.9 可用 |
402 | Payment Required (需要付款) |
該狀態碼被保留以供將來使用.創建此代碼最初的目的是為數字支付系統而用,然而,到現在也沒投入使用. | HTTP/0.9 and 1.1 |
403 | Forbidden (禁止訪問) |
客戶端沒有權利訪問所請求內容,服務器拒絕本次請求. | HTTP/0.9 可用 |
404 | Not Found (未找到) |
服務器找不到所請求的資源.由于經常發生此種情況,所以該狀態碼在上網時是非常常見的. | HTTP/0.9 可用 |
405 | Method Not Allowed (不允許使用該方法) |
該請求使用的方法被服務器端禁止使用,RFC2616中規定,?GET ?和?HEAD ?方法不能被禁止. |
HTTP/1.1 可用 |
406 | Not Acceptable (無法接受) |
在進行服務器驅動內容協商后,沒有發現合適的內容傳回給客戶端. | HTTP/1.1 可用 |
407 | Proxy Authentication Required (要求代理身份驗證) |
類似于狀態碼 401,不過需要通過代理才能進行驗證. | HTTP/1.1 可用 |
408 | Request Timeout (請求超時) |
客戶端沒有在服務器預備等待的時間內完成一個請求的發送.這意味著服務器將會切斷和客戶端的連接. 在其他瀏覽器中,這種響應更常見一些, 例如Chrome 和 IE9, 目的是為了使用HTTP 預連機制加快瀏覽速度. 同時注意,一些服務器不發送此種響應就直接切斷連接. | HTTP/1.1 可用 |
409 | Conflict (沖突) |
該請求與服務器的當前狀態所沖突. | HTTP/1.1 可用 |
410 | Gone (已失效) |
所請求的資源已經被刪除. | HTTP/1.1 可用 |
411 | Length Required (需要內容長度頭) |
因服務器在本次請求中需要?Content-Length ?頭字段,而客戶端沒有發送.所以,服務器拒絕了該請求. |
HTTP/1.1 可用 |
412 | Precondition Failed (預處理失敗) |
服務器沒能滿足客戶端在獲取資源時在請求頭字段中設置的先決條件. | HTTP/1.1 可用 |
413 | Request Entity Too Large (請求實體過長) |
請求實體大小超過服務器的設置的最大限制,服務器可能會關閉HTTP鏈接并返回Retry-After ?頭字段. |
HTTP/1.1 可用 |
414 | Request-URI Too Long (請求網址過長) |
客戶端請求所包含的URI地址太長,以至于服務器無法處理. | HTTP/1.1 可用 |
415 | Unsupported Media Type (媒體類型不支持) |
服務器不支持客戶端所請求的媒體類型,因此拒絕該請求. | HTTP/1.1 可用 |
416 | Requested Range Not Satisfiable (請求范圍不合要求) |
請求中包含的Range 頭字段無法被滿足,通常是因為Range 中的數字范圍超出所請求資源的大小. |
HTTP/1.1 可用 |
417 | Expectation Failed (預期結果失敗) |
在請求頭?Expect ?中指定的預期內容無法被服務器滿足. |
HTTP/1.1 可用 |
服務器端錯誤 | |||
500 | Internal Server Error (內部服務器錯誤) |
服務器遇到未知的無法解決的問題. | HTTP/0.9 可用 |
501 | Implemented (未實現) |
服務器不支持該請求中使用的方法,比如POST ?和?PUT.只有 GET ?和?HEAD ?是RFC2616規范中規定服務器必須實現的方法. |
HTTP/0.9 可用 |
502 | Bad Gateway (網關錯誤) |
服務器作為網關且從上游服務器獲取到了一個無效的HTTP響應. | HTTP/0.9 可用 |
503 | Service Unavailable (服務不可用) |
由于臨時的服務器維護或者過載,服務器當前無法處理請求.這個狀況是臨時的,并且將在一段時間以后恢復.如果能夠預計延遲時間,那么響應中可以包含一個Retry-After: 頭用以標明這個延遲時間.如果沒有給出這個Retry-After: 信息,那么客戶端應當以處理500響應的方式處理它.同時,這種情況下,一個友好的用于解釋服務器出現問題的頁面應當被返回,并且,緩存相關的HTTP頭信息也應該包含,因為通常這種錯誤提示網頁不應當被客戶端緩存. |
HTTP/0.9 可用 |
504 | Gateway Timeout (網關超時) |
服務器作為網關且不能從上游服務器及時的得到響應返回給客戶端. | HTTP/1.1 可用 |
505 | HTTP Version Not Supported (HTTP版本不受支持) |
服務器不支持客戶端發送的HTTP請求中所使用的HTTP協議版本. | HTTP/1.1 可用 |