HTTP 響應狀態代碼指示特定 http?請求是否已成功完成。響應分為五類:信息響應(100–199),成功響應(200–299),重定向(300–399),客戶端錯誤(400–499)和服務器錯誤?(500–599)。狀態代碼由?section 10 of RFC 2616定義
?
信息響應
100 Continue
?
這個臨時響應表明,迄今為止的所有內容都是可行的,客戶端應該繼續請求,如果已經完成,則忽略它。
?
101 Switching Protocol
?
該代碼是響應客戶端的?Upgrade?標頭發送的,并且指示服務器也正在切換的協議。
?
102 Processing?(WebDAV)
?
此代碼表示服務器已收到并正在處理該請求,但沒有響應可用。
?
103?Early?Hints?
?
此狀態代碼主要用于與Link?鏈接頭一起使用,以允許用戶代理在服務器仍在準備響應時開始預加載資源。
?
成功響應
200 OK
?
請求成功。成功的含義取決于HTTP方法:
?
GET:資源已被提取并在消息正文中傳輸。
HEAD:實體標頭位于消息正文中。
POST:描述動作結果的資源在消息體中傳輸。
TRACE:消息正文包含服務器收到的請求消息
201 Created
?
該請求已成功,并因此創建了一個新的資源。這通常是在POST請求,或是某些PUT請求之后返回的響應。
?
202 Accepted
?
請求已經接收到,但還未響應,沒有結果。意味著不會有一個異步的響應去表明當前請求的結果,預期另外的進程和服務去處理請求,或者批處理。
?
203 Non-Authoritative Information
?
服務器已成功處理了請求,但返回的實體頭部元信息不是在原始服務器上有效的確定集合,而是來自本地或者第三方的拷貝。當前的信息可能是原始版本的子集或者超集。例如,包含資源的元數據可能導致原始服務器知道元信息的超集。使用此狀態碼不是必須的,而且只有在響應不使用此狀態碼便會返回200 OK的情況下才是合適的。
?
204 No Content
?
服務器成功處理了請求,但不需要返回任何實體內容,并且希望返回更新了的元信息。響應可能通過實體頭部的形式,返回新的或更新后的元信息。如果存在這些頭部信息,則應當與所請求的變量相呼應。如果客戶端是瀏覽器的話,那么用戶瀏覽器應保留發送了該請求的頁面,而不產生任何文檔視圖上的變化,即使按照規范新的或更新后的元信息應當被應用到用戶瀏覽器活動視圖中的文檔。由于204響應被禁止包含任何消息體,因此它始終以消息頭后的第一個空行結尾。
?
205 Reset Content
?
服務器成功處理了請求,且沒有返回任何內容。但是與204響應不同,返回此狀態碼的響應要求請求者重置文檔視圖。該響應主要是被用于接受用戶輸入后,立即重置表單,以便用戶能夠輕松地開始另一次輸入。與204響應一樣,該響應也被禁止包含任何消息體,且以消息頭后的第一個空行結束。
?
206 Partial Content
?
服務器已經成功處理了部分 GET 請求。類似于 FlashGet 或者迅雷這類的 HTTP 下載工具都是使用此類響應實現斷點續傳或者將一個大文檔分解為多個下載段同時下載。該請求必須包含 Range 頭信息來指示客戶端希望得到的內容范圍,并且可能包含 If-Range 來作為請求條件。
?
207 Multi-Status?(WebDAV)
?
由WebDAV(RFC 2518)擴展的狀態碼,代表之后的消息體將是一個XML消息,并且可能依照之前子請求數量的不同,包含一系列獨立的響應代碼。
?
208 Multi-Status?(WebDAV)
?
在 DAV 里面使用: propstat 響應元素以避免重復枚舉多個綁定的內部成員到同一個集合。
?
226 IM Used?(HTTP Delta encoding)
?
服務器已經完成了對資源的 GET 請求,并且響應是對當前實例應用的一個或多個實例操作結果的表示。
?
重定向
300 Multiple Choice
?
被請求的資源有一系列可供選擇的回饋信息,每個都有自己特定的地址和瀏覽器驅動的商議信息。用戶或瀏覽器能夠自行選擇一個首選的地址進行重定向。
?
301 Moved Permanently
?
被請求的資源已永久移動到新位置,并且將來任何對此資源的引用都應該使用本響應返回的若干個 URI 之一。如果可能,擁有鏈接編輯功能的客戶端應當自動把請求的地址修改為從服務器反饋回來的地址。除非額外指定,否則這個響應也是可緩存的。
?
302 Found
?
請求的資源現在臨時從不同的 URI 響應請求。由于這樣的重定向是臨時的,客戶端應當繼續向原有地址發送以后的請求。只有在Cache-Control或Expires中進行了指定的情況下,這個響應才是可緩存的。
?
303 See Other
?
對應當前請求的響應可以在另一個 URI 上被找到,而且客戶端應當采用 GET 的方式訪問那個資源。這個方法的存在主要是為了允許由腳本激活的POST請求輸出重定向到一個新的資源。
?
304 Not Modified
?
如果客戶端發送了一個帶條件的 GET 請求且該請求已被允許,而文檔的內容(自上次訪問以來或者根據請求的條件)并沒有改變,則服務器應當返回這個狀態碼。304 響應禁止包含消息體,因此始終以消息頭后的第一個空行結尾。
?
305 Use Proxy?
?
被請求的資源必須通過指定的代理才能被訪問。Location 域中將給出指定的代理所在的 URI 信息,接收者需要重復發送一個單獨的請求,通過這個代理才能訪問相應資源。只有原始服務器才能建立305響應。
?
306 unused
?
在最新版的規范中,306 狀態碼已經不再被使用。
?
307 Temporary Redirect
?
請求的資源現在臨時從不同的URI 響應請求。由于這樣的重定向是臨時的,客戶端應當繼續向原有地址發送以后的請求。只有在Cache-Control或Expires中進行了指定的情況下,這個響應才是可緩存的。
?
308 Permanent Redirect
?
這意味著資源現在永久位于由?Location:?HTTP Response 標頭指定的另一個 URI。 這與?301 Moved Permanently HTTP?響應代碼具有相同的語義,但用戶代理不能更改所使用的 HTTP 方法:如果在第一個請求中使用?POST,則必須在第二個請求中使用?POST。
?
客戶端響應
400 Bad Request
?
1、語義有誤,當前請求無法被服務器理解。除非進行修改,否則客戶端不應該重復提交這個請求。
?
2、請求參數有誤。
?
401 Unauthorized
?
當前請求需要用戶驗證。該響應必須包含一個適用于被請求資源的 WWW-Authenticate 信息頭用以詢問用戶信息。客戶端可以重復提交一個包含恰當的 Authorization 頭信息的請求。如果當前請求已經包含了 Authorization 證書,那么401響應代表著服務器驗證已經拒絕了那些證書。如果401響應包含了與前一個響應相同的身份驗證詢問,且瀏覽器已經至少嘗試了一次驗證,那么瀏覽器應當向用戶展示響應中包含的實體信息,因為這個實體信息中可能包含了相關診斷信息。
?
402 Payment Required
?
此響應碼保留以便將來使用,創造此響應碼的最初目的是用于數字支付系統,然而現在并未使用。
?
403 Forbidden
?
服務器已經理解請求,但是拒絕執行它。與 401 響應不同的是,身份驗證并不能提供任何幫助,而且這個請求也不應該被重復提交。如果這不是一個 HEAD 請求,而且服務器希望能夠講清楚為何請求不能被執行,那么就應該在實體內描述拒絕的原因。當然服務器也可以返回一個 404 響應,假如它不希望讓客戶端獲得任何信息。
?
404 Not Found
?
請求失敗,請求所希望得到的資源未被在服務器上發現。沒有信息能夠告訴用戶這個狀況到底是暫時的還是永久的。假如服務器知道情況的話,應當使用410狀態碼來告知舊資源因為某些內部的配置機制問題,已經永久的不可用,而且沒有任何可以跳轉的地址。404這個狀態碼被廣泛應用于當服務器不想揭示到底為何請求被拒絕或者沒有其他適合的響應可用的情況下。
?
405 Method Not Allowed
?
請求行中指定的請求方法不能被用于請求相應的資源。該響應必須返回一個Allow 頭信息用以表示出當前資源能夠接受的請求方法的列表。 鑒于 PUT,DELETE 方法會對服務器上的資源進行寫操作,因而絕大部分的網頁服務器都不支持或者在默認配置下不允許上述請求方法,對于此類請求均會返回405錯誤。
?
406 Not Acceptable
?
請求的資源的內容特性無法滿足請求頭中的條件,因而無法生成響應實體。
?
407 Proxy Authentication Required
?
與401響應類似,只不過客戶端必須在代理服務器上進行身份驗證。代理服務器必須返回一個 Proxy-Authenticate 用以進行身份詢問。客戶端可以返回一個 Proxy-Authorization 信息頭用以驗證。
?
408 Request Timeout
?
請求超時。客戶端沒有在服務器預備等待的時間內完成一個請求的發送。客戶端可以隨時再次提交這一請求而無需進行任何更改。
?
409 Conflict
?
由于和被請求的資源的當前狀態之間存在沖突,請求無法完成。這個代碼只允許用在這樣的情況下才能被使用:用戶被認為能夠解決沖突,并且會重新提交新的請求。該響應應當包含足夠的信息以便用戶發現沖突的源頭。
?
410 Gone
?
被請求的資源在服務器上已經不再可用,而且沒有任何已知的轉發地址。這樣的狀況應當被認為是永久性的。如果可能,擁有鏈接編輯功能的客戶端應當在獲得用戶許可后刪除所有指向這個地址的引用。如果服務器不知道或者無法確定這個狀況是否是永久的,那么就應該使用 404 狀態碼。除非額外說明,否則這個響應是可緩存的。
?
411 Length Required
?
服務器拒絕在沒有定義?Content-Length?頭的情況下接受請求。在添加了表明請求消息體長度的有效?Content-Length?頭之后,客戶端可以再次提交該請求。
?
412 Precondition Failed
?
服務器在驗證在請求的頭字段中給出先決條件時,沒能滿足其中的一個或多個。這個狀態碼允許客戶端在獲取資源時在請求的元信息(請求頭字段數據)中設置先決條件,以此避免該請求方法被應用到其希望的內容以外的資源上。
?
413 Payload Too Large
?
服務器拒絕處理當前請求,因為該請求提交的實體數據大小超過了服務器愿意或者能夠處理的范圍。此種情況下,服務器可以關閉連接以免客戶端繼續發送此請求。如果這個狀況是臨時的,服務器應當返回一個?Retry-After?的響應頭,以告知客戶端可以在多少時間以后重新嘗試。
?
414 URI Too Long
?
請求的URI 長度超過了服務器能夠解釋的長度,因此服務器拒絕對該請求提供服務。這比較少見,通常的情況包括:本應使用POST方法的表單提交變成了GET方法,導致查詢字符串(Query String)過長。
?
415 Unsupported Media Type
?
對于當前請求的方法和所請求的資源,請求中提交的實體并不是服務器中所支持的格式,因此請求被拒絕。
?
416 Requested Range Not Satisfiable
?
如果請求中包含了 Range 請求頭,并且 Range 中指定的任何數據范圍都與當前資源的可用范圍不重合,同時請求中又沒有定義 If-Range 請求頭,那么服務器就應當返回416狀態碼。
?
417 Expectation Failed
?
此響應代碼意味著服務器無法滿足?Expect?請求標頭字段指示的期望值。
?
418 I'm a teapot
?
服務器拒絕嘗試用?“茶壺沖泡咖啡”。
?
421 Misdirected Request
?
該請求針對的是無法產生響應的服務器。 這可以由服務器發送,該服務器未配置為針對包含在請求 URI 中的方案和權限的組合產生響應。
?
422 Unprocessable Entity?(WebDAV)
?
請求格式良好,但由于語義錯誤而無法遵循。
?
423 Locked?(WebDAV)
?
正在訪問的資源被鎖定。
?
424 Failed Dependency?(WebDAV)
?
由于先前的請求失敗,所以此次請求失敗。
?
425 Too Early
?
服務器不愿意冒著風險去處理可能重播的請求。
?
426 Upgrade Required
?
服務器拒絕使用當前協議執行請求,但可能在客戶機升級到其他協議后愿意這樣做。 服務器在 426 響應中發送?Upgrade?頭以指示所需的協議。
?
428 Precondition Required
?
原始服務器要求該請求是有條件的。 旨在防止“丟失更新”問題,即客戶端獲取資源狀態,修改該狀態并將其返回服務器,同時第三方修改服務器上的狀態,從而導致沖突。
?
429 Too Many Requests
?
用戶在給定的時間內發送了太多請求(“限制請求速率”)。
?
431 Request Header Fields Too Large
?
服務器不愿意處理請求,因為它的 請求頭字段太大( Request Header Fields Too Large)。 請求可以在減小請求頭字段的大小后重新提交。
?
451 Unavailable For Legal Reasons
?
用戶請求非法資源,例如:由政府審查的網頁。
?
服務端響應
500 Internal Server Error
?
服務器遇到了不知道如何處理的情況。
?
501 Not Implemented
?
此請求方法不被服務器支持且無法被處理。只有GET和HEAD是要求服務器支持的,它們必定不會返回此錯誤代碼。
?
502 Bad Gateway
?
此錯誤響應表明服務器作為網關需要得到一個處理這個請求的響應,但是得到一個錯誤的響應。
?
503 Service Unavailable
?
服務器沒有準備好處理請求。 常見原因是服務器因維護或重載而停機。 請注意,與此響應一起,應發送解釋問題的用戶友好頁面。 這個響應應該用于臨時條件和?Retry-After:如果可能的話,HTTP頭應該包含恢復服務之前的估計時間。 網站管理員還必須注意與此響應一起發送的與緩存相關的標頭,因為這些臨時條件響應通常不應被緩存。
?
504 Gateway Timeout
?
當服務器作為網關,不能及時得到響應時返回此錯誤代碼。
?
505 HTTP Version Not Supported
?
服務器不支持請求中所使用的HTTP協議版本。
?
506 Variant Also Negotiates
?
服務器有一個內部配置錯誤:對請求的透明內容協商導致循環引用。
?
507 Insufficient Storage
?
服務器有內部配置錯誤:所選的變體資源被配置為參與透明內容協商本身,因此不是協商過程中的適當端點。
?
508 Loop Detected?(WebDAV)
?
服務器在處理請求時檢測到無限循環。
?
510 Not Extended
?
客戶端需要對請求進一步擴展,服務器才能實現它。服務器會回復客戶端發出擴展請求所需的所有信息。
?
511 Network Authentication Required
?
511 狀態碼指示客戶端需要進行身份驗證才能獲得網絡訪問權限。