
常見的14種狀態(tài)碼
100 Continue
服務(wù)器已經(jīng)接收到請求頭,并且客戶端應(yīng)繼續(xù)發(fā)送請求主體(在需要發(fā)送身體的請求的情況下:例如,POST請求),或者如果請求已經(jīng)完成,忽略這個響應(yīng)。
服務(wù)器必須在請求完成后向客戶端發(fā)送一個最終響應(yīng)。要使服務(wù)器檢查請求的頭部,客戶端必須在其初始請求中發(fā)送Expect: 100-continue作為頭部,并在發(fā)送正文之前接收100 Continue狀態(tài)代碼。響應(yīng)代碼417期望失敗表示請求不應(yīng)繼續(xù)。
101 Switching Protocols
切換協(xié)議。
服務(wù)器已經(jīng)理解了客戶端的請求,并將通過Upgrade消息頭通知客戶端采用不同的協(xié)議來完成這個請求。在發(fā)送完這個響應(yīng)最后的空行后,服務(wù)器將會切換到在Upgrade消息頭中定義的那些協(xié)議。
只有在切換新的協(xié)議更有好處的時候才應(yīng)該采取類似措施。例如,切換到新的HTTP版本(如HTTP/2)比舊版本更有優(yōu)勢,或者切換到一個實時且同步的協(xié)議(如WebSocket)以傳送利用此類特性的資源。
102 Processing
WebDAV請求可能包含許多涉及文件操作的子請求,需要很長時間才能完成請求。
該代碼表示??服務(wù)器已經(jīng)收到并正在處理請求,但無響應(yīng)可用。
這樣可以防止客戶端超時,并假設(shè)請求丟失
200 OK
請求已成功,請求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回。
實際的響應(yīng)將取決于所使用的請求方法。
在GET請求中,響應(yīng)將包含與請求的資源相對應(yīng)的實體。在POST請求中,響應(yīng)將包含描述或操作結(jié)果的實體。
201 Created
請求已經(jīng)被實現(xiàn),而且有一個新的資源已經(jīng)依據(jù)請求的需要而建立,且其 URI 已經(jīng)隨 Location頭信息返回。
假如需要的資源無法及時建立的話,應(yīng)當(dāng)返回 202 Accepted。
202 Accepted
服務(wù)器已接受請求,但尚未處理。
最終該請求可能會也可能不會被執(zhí)行,并且可能在處理發(fā)生時被禁止。
203 Non-Authoritative Information
服務(wù)器是一個轉(zhuǎn)換代理服務(wù)器(transforming proxy,例如網(wǎng)絡(luò)加速器),以200 OK狀態(tài)碼為起源,但回應(yīng)了原始響應(yīng)的修改版本。
204 No Content
服務(wù)器成功處理了請求,沒有返回任何內(nèi)容。
205 Reset Content
服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容。與204響應(yīng)不同,此響應(yīng)要求請求者重置文檔視圖。
206 Partial Content
服務(wù)器已經(jīng)成功處理了部分GET請求。
207 Multi-Status
代表之后的消息體將是一個 XML消息,并且可能依照之前子請求數(shù)量的不同,包含一系列獨立的響應(yīng)代碼。
208 Already Reported
DAV綁定的成員已經(jīng)在(多狀態(tài))響應(yīng)之前的部分被列舉,且未被再次包含。
226 IM Used
服務(wù)器已經(jīng)滿足了對資源的請求,對實體請求的一個或多個實體操作的結(jié)果表示。
300 Multiple Choices
被請求的資源有一系列可供選擇的回饋信息,每個都有自己特定的地址和瀏覽器驅(qū)動的商議信息。用戶或瀏覽器能夠自行選擇一個首選的地址進(jìn)行重定向。
301 Moved Permanently
被請求的資源已永久移動到新位置,并且將來任何對此資源的引用都應(yīng)該使用本響應(yīng)返回的若干個URI之一。
如果可能,擁有鏈接編輯功能的客戶端應(yīng)當(dāng)自動把請求的地址修改為從服務(wù)器反饋回來的地址。
除非額外指定,否則這個響應(yīng)也是可緩存的。
302 Found
要求客戶端執(zhí)行臨時重定向(原始描述短語為“Moved Temporarily”)。由于這樣的重定向是臨時的,客戶端應(yīng)當(dāng)繼續(xù)向原有地址發(fā)送以后的請求。只有在Cache-Control或Expires中進(jìn)行了指定的情況下,這個響應(yīng)才是可緩存的。
新的臨時性的URI應(yīng)當(dāng)在響應(yīng)的Location域中返回。除非這是一個HEAD請求,否則響應(yīng)的實體中應(yīng)當(dāng)包含指向新的URI的超鏈接及簡短說明。
303 See Other
對應(yīng)當(dāng)前請求的響應(yīng)可以在另一個URI上被找到,當(dāng)響應(yīng)于POST(或PUT / DELETE)接收到響應(yīng)時,客戶端應(yīng)該假定服務(wù)器已經(jīng)收到數(shù)據(jù),并且應(yīng)該使用單獨的GET消息發(fā)出重定向。
這個方法的存在主要是為了允許由腳本激活的POST請求輸出重定向到一個新的資源。這個新的URI不是原始資源的替代引用。同時,303響應(yīng)禁止被緩存。當(dāng)然,第二個請求(重定向)可能被緩存。
新的URI應(yīng)當(dāng)在響應(yīng)的Location域中返回。除非這是一個HEAD請求,否則響應(yīng)的實體中應(yīng)當(dāng)包含指向新的URI的超鏈接及簡短說明。
304 Not Modified
表示資源未被修改,因為請求頭指定的版本If-Modified-Since或If-None-Match。
在這種情況下,由于客戶端仍然具有以前下載的副本,因此不需要重新傳輸資源。
305 Use Proxy
被請求的資源必須通過指定的代理才能被訪問。
Location域中將給出指定的代理所在的URI信息,接收者需要重復(fù)發(fā)送一個單獨的請求,通過這個代理才能訪問相應(yīng)資源。
只有原始服務(wù)器才能建立305響應(yīng)。
許多HTTP客戶端(像是Mozilla和Internet Explorer)都沒有正確處理這種狀態(tài)代碼的響應(yīng),主要是出于安全考慮。
306 Switch Proxy
在最新版的規(guī)范中,306狀態(tài)碼已經(jīng)不再被使用。最初是指“后續(xù)請求應(yīng)使用指定的代理”。
307 Temporary Redirect
在這種情況下,請求應(yīng)該與另一個URI重復(fù),但后續(xù)的請求應(yīng)仍使用原始的URI。 與302相反,當(dāng)重新發(fā)出原始請求時,不允許更改請求方法。 例如,應(yīng)該使用另一個POST請求來重復(fù)POST請求。
308 Permanent Redirect
請求和所有將來的請求應(yīng)該使用另一個URI重復(fù)。
307和308重復(fù)302和301的行為,但不允許HTTP方法更改。 例如,將表單提交給永久重定向的資源可能會順利進(jìn)行。