1. 程式人生 > >【HTTP】響應協議內容的響應碼

【HTTP】響應協議內容的響應碼

轉載從https://www.cnblogs.com/isykw/p/6115469.html

 

狀態碼 原因短語 代表含義 HTTP 版本
訊息響應
100 Continue
(繼續)
客戶端應當繼續傳送請求.這個臨時響應是用來通知客戶端它的部分請求已經被伺服器接收,且仍未被拒絕.客戶端應當繼續傳送請求的剩餘部分,或者如果請求已經完成,忽略這個響應.伺服器必須在請求完成後向客戶端傳送一個最終響應. HTTP/1.1 可用
101 Switching Protocol
(切換協議)
伺服器已經理解了客戶端的請求,並將通過Upgrade訊息頭通知客戶端採用不同的協議來完成這個請求。在傳送完這個響應最後的空行後,伺服器將會切換到 在Upgrade訊息頭中定義的那些協議。: 只有在切換新的協議更有好處的時候才應該採取類似措施。例如,切換到新的HTTP版本比舊版本更有優勢,或者切換到一個實時且同步的協議以傳送利用此類特 性的資源。 HTTP/1.1 可用
成功響應
200 OK
(成功)
請求成功.成功的意義根據請求所使用的方法不同而不同.
  • GET: 資源已被提取,並作為響應體傳回客戶端.
  • HEAD: 實體頭已作為響應頭傳回客戶端
  • POST: 經過伺服器處理客戶端傳來的資料,適合的資源作為響應體傳回客戶端.
  • TRACE: 伺服器收到請求訊息作為響應體傳回客戶端.
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 可用