1872浏覽量

HTTP服務器狀态碼含義詳解

來源: 時間:2014-10-08
狀态碼 含義
100 客戶端應當繼續發送請求。這個臨時響應是用來通知(zhī)客戶端它的部分(fēn)請求已經被服務器接收,且仍未被拒絕。客戶端應當繼續發送請求的剩餘部分(fēn),或者如果請求已經完成,忽略這個響應。服務器必須在請求完成後向客戶端發送一(yī)個最終響應。
101 服務器已經理解了客戶端的請求,并将通過Upgrade 消息頭通知(zhī)客戶端采用不同的協議來完成這個請求。在發送完這個響應最後的空行後,服務器将會切換到在Upgrade 消息頭中(zhōng)定義的那些協議。   隻有在切換新的協議更有好處的時候才應該采取類似措施。例如,切換到新的HTTP 版本比舊(jiù)版本更有優勢,或者切換到一(yī)個實時且同步的協議以傳送利用此類特性的資(zī)源。
102 由WebDAV(RFC 2518)擴展的狀态碼,代表處理将被繼續執行。
200 請求已成功,請求所希望的響應頭或數據體(tǐ)将随此響應返回。
201 請求已經被實現,而且有一(yī)個新的資(zī)源已經依據請求的需要而建立,且其 URI 已經随Location 頭信息返回。假如需要的資(zī)源無法及時建立的話(huà),應當返回 '202 Accepted'。
202 服務器已接受請求,但尚未處理。正如它可能被拒絕一(yī)樣,最終該請求可能會也可能不會被執行。在異步操作的場合下(xià),沒有比發送這個狀态碼更方便的做法了。   返回202狀态碼的響應的目的是允許服務器接受其他過程的請求(例如某個每天隻執行一(yī)次的基于批處理的操作),而不必讓客戶端一(yī)直保持與服務器的連接直到批處理操作全部完成。在接受請求處理并返回202狀态碼的響應應當在返回的實體(tǐ)中(zhōng)包含一(yī)些指示處理當前狀态的信息,以及指向處理狀态監視器或狀态預測的指針,以便用戶能夠估計操作是否已經完成。
203 服務器已成功處理了請求,但返回的實體(tǐ)頭部元信息不是在原始服務器上有效的确定集合,而是來自本地或者第三方的拷貝。當前的信息可能是原始版本的子集或者超集。例如,包含資(zī)源的元數據可能導緻原始服務器知(zhī)道元信息的超級。使用此狀态碼不是必須的,而且隻有在響應不使用此狀态碼便會返回200 OK的情況下(xià)才是合适的。
204 服務器成功處理了請求,但不需要返回任何實體(tǐ)内容,并且希望返回更新了的元信息。響應可能通過實體(tǐ)頭部的形式,返回新的或更新後的元信息。如果存在這些頭部信息,則應當與所請求的變量相呼應。   如果客戶端是浏覽器的話(huà),那麽用戶浏覽器應保留發送了該請求的頁面,而不産生(shēng)任何文檔視圖上的變化,即使按照規範新的或更新後的元信息應當被應用到用戶浏覽器活動視圖中(zhōng)的文檔。   由于204響應被禁止包含任何消息體(tǐ),因此它始終以消息頭後的第一(yī)個空行結尾。
205 服務器成功處理了請求,且沒有返回任何内容。但是與204響應不同,返回此狀态碼的響應要求請求者重置文檔視圖。該響應主要是被用于接受用戶輸入後,立即重置表單,以便用戶能夠輕松地開(kāi)始另一(yī)次輸入。   與204響應一(yī)樣,該響應也被禁止包含任何消息體(tǐ),且以消息頭後的第一(yī)個空行結束。
206 服務器已經成功處理了部分(fēn) GET 請求。類似于 FlashGet 或者迅雷這類的 HTTP 下(xià)載工(gōng)具都是使用此類響應實現斷點續傳或者将一(yī)個大(dà)文檔分(fēn)解爲多個下(xià)載段同時下(xià)載。   該請求必須包含 Range 頭信息來指示客戶端希望得到的内容範圍,并且可能包含 If-Range 來作爲請求條件。   響應必須包含如下(xià)的頭部域:   Content-Range 用以指示本次響應中(zhōng)返回的内容的範圍;如果是 Content-Type 爲 multipart/byteranges 的多段下(xià)載,則每一(yī) multipart 段中(zhōng)都應包含 Content-Range 域用以指示本段的内容範圍。假如響應中(zhōng)包含 Content-Length,那麽它的數值必須匹配它返回的内容範圍的真實字節數。   Date   ETag 和/或 Content-Location,假如同樣的請求本應該返回200響應。   Expires, Cache-Control,和/或 Vary,假如其值可能與之前相同變量的其他響應對應的值不同的話(huà)。   假如本響應請求使用了 If-Range 強緩存驗證,那麽本次響應不應該包含其他實體(tǐ)頭;假如本響應的請求使用了 If-Range 弱緩存驗證,那麽本次響應禁止包含其他實體(tǐ)頭;這避免了緩存的實體(tǐ)内容和更新了的實體(tǐ)頭信息之間的不一(yī)緻。否則,本響應就應當包含所有本應該返回200響應中(zhōng)應當返回的所有實體(tǐ)頭部域。   假如 ETag 或 Last-Modified 頭部不能精确匹配的話(huà),則客戶端緩存應禁止将206響應返回的内容與之前任何緩存過的内容組合在一(yī)起。   任何不支持 Range 以及 Content-Range 頭的緩存都禁止緩存206響應返回的内容。
207 由WebDAV(RFC 2518)擴展的狀态碼,代表之後的消息體(tǐ)将是一(yī)個XML消息,并且可能依照之前子請求數量的不同,包含一(yī)系列獨立的響應代碼。
300 被請求的資(zī)源有一(yī)系列可供選擇的回饋信息,每個都有自己特定的地址和浏覽器驅動的商(shāng)議信息。用戶或浏覽器能夠自行選擇一(yī)個首選的地址進行重定向。   除非這是一(yī)個 HEAD 請求,否則該響應應當包括一(yī)個資(zī)源特性及地址的列表的實體(tǐ),以便用戶或浏覽器從中(zhōng)選擇最合适的重定向地址。這個實體(tǐ)的格式由 Content-Type 定義的格式所決定。浏覽器可能根據響應的格式以及浏覽器自身能力,自動作出最合适的選擇。當然,RFC 2616規範并沒有規定這樣的自動選擇該如何進行。   如果服務器本身已經有了首選的回饋選擇,那麽在 Location 中(zhōng)應當指明這個回饋的 URI;浏覽器可能會将這個 Location 值作爲自動重定向的地址。此外(wài),除非額外(wài)指定,否則這個響應也是可緩存的。
301 被請求的資(zī)源已永久移動到新位置,并且将來任何對此資(zī)源的引用都應該使用本響應返回的若幹個 URI 之一(yī)。如果可能,擁有鏈接編輯功能的客戶端應當自動把請求的地址修改爲從服務器反饋回來的地址。除非額外(wài)指定,否則這個響應也是可緩存的。   新的永久性的 URI 應當在響應的 Location 域中(zhōng)返回。除非這是一(yī)個 HEAD 請求,否則響應的實體(tǐ)中(zhōng)應當包含指向新的 URI 的超鏈接及簡短說明。   如果這不是一(yī)個 GET 或者 HEAD 請求,因此浏覽器禁止自動進行重定向,除非得到用戶的确認,因爲請求的條件可能因此發生(shēng)變化。   注意:對于某些使用 HTTP/1.0 協議的浏覽器,當它們發送的 POST 請求得到了一(yī)個301響應的話(huà),接下(xià)來的重定向請求将會變成 GET 方式。
302 請求的資(zī)源現在臨時從不同的 URI 響應請求。由于這樣的重定向是臨時的,客戶端應當繼續向原有地址發送以後的請求。隻有在Cache-Control或Expires中(zhōng)進行了指定的情況下(xià),這個響應才是可緩存的。   新的臨時性的 URI 應當在響應的 Location 域中(zhōng)返回。除非這是一(yī)個 HEAD 請求,否則響應的實體(tǐ)中(zhōng)應當包含指向新的 URI 的超鏈接及簡短說明。   如果這不是一(yī)個 GET 或者 HEAD 請求,那麽浏覽器禁止自動進行重定向,除非得到用戶的确認,因爲請求的條件可能因此發生(shēng)變化。   注意:雖然RFC 1945和RFC 2068規範不允許客戶端在重定向時改變請求的方法,但是很多現存的浏覽器将302響應視作爲303響應,并且使用 GET 方式訪問在 Location 中(zhōng)規定的 URI,而無視原先請求的方法。狀态碼303和307被添加了進來,用以明确服務器期待客戶端進行何種反應。
303 對應當前請求的響應可以在另一(yī)個 URI 上被找到,而且客戶端應當采用 GET 的方式訪問那個資(zī)源。這個方法的存在主要是爲了允許由腳本激活的POST請求輸出重定向到一(yī)個新的資(zī)源。這個新的 URI 不是原始資(zī)源的替代引用。同時,303響應禁止被緩存。當然,第二個請求(重定向)可能被緩存。   新的 URI 應當在響應的 Location 域中(zhōng)返回。除非這是一(yī)個 HEAD 請求,否則響應的實體(tǐ)中(zhōng)應當包含指向新的 URI 的超鏈接及簡短說明。   注意:許多 HTTP/1.1 版以前的 浏覽器不能正确理解303狀态。如果需要考慮與這些浏覽器之間的互動,302狀态碼應該可以勝任,因爲大(dà)多數的浏覽器處理302響應時的方式恰恰就是上述規範要求客戶端處理303響應時應當做的。
304 如果客戶端發送了一(yī)個帶條件的 GET 請求且該請求已被允許,而文檔的内容(自上次訪問以來或者根據請求的條件)并沒有改變,則服務器應當返回這個狀态碼。304響應禁止包含消息體(tǐ),因此始終以消息頭後的第一(yī)個空行結尾。   該響應必須包含以下(xià)的頭信息:   Date,除非這個服務器沒有時鍾。假如沒有時鍾的服務器也遵守這些規則,那麽代理服務器以及客戶端可以自行将 Date 字段添加到接收到的響應頭中(zhōng)去(qù)(正如RFC 2068中(zhōng)規定的一(yī)樣),緩存機制将會正常工(gōng)作。   ETag 和/或 Content-Location,假如同樣的請求本應返回200響應。   Expires, Cache-Control,和/或Vary,假如其值可能與之前相同變量的其他響應對應的值不同的話(huà)。   假如本響應請求使用了強緩存驗證,那麽本次響應不應該包含其他實體(tǐ)頭;否則(例如,某個帶條件的 GET 請求使用了弱緩存驗證),本次響應禁止包含其他實體(tǐ)頭;這避免了緩存了的實體(tǐ)内容和更新了的實體(tǐ)頭信息之間的不一(yī)緻。   假如某個304響應指明了當前某個實體(tǐ)沒有緩存,那麽緩存系統必須忽視這個響應,并且重複發送不包含限制條件的請求。   假如接收到一(yī)個要求更新某個緩存條目的304響應,那麽緩存系統必須更新整個條目以反映所有在響應中(zhōng)被更新的字段的值。
305 被請求的資(zī)源必須通過指定的代理才能被訪問。Location 域中(zhōng)将給出指定的代理所在的 URI 信息,接收者需要重複發送一(yī)個單獨的請求,通過這個代理才能訪問相應資(zī)源。隻有原始服務器才能建立305響應。   注意:RFC 2068中(zhōng)沒有明确305響應是爲了重定向一(yī)個單獨的請求,而且隻能被原始服務器建立。忽視這些限制可能導緻嚴重的安全後果。
306 在最新版的規範中(zhōng),306狀态碼已經不再被使用。
307 請求的資(zī)源現在臨時從不同的URI 響應請求。由于這樣的重定向是臨時的,客戶端應當繼續向原有地址發送以後的請求。隻有在Cache-Control或Expires中(zhōng)進行了指定的情況下(xià),這個響應才是可緩存的。   新的臨時性的URI 應當在響應的 Location 域中(zhōng)返回。除非這是一(yī)個HEAD 請求,否則響應的實體(tǐ)中(zhōng)應當包含指向新的URI 的超鏈接及簡短說明。因爲部分(fēn)浏覽器不能識别307響應,因此需要添加上述必要信息以便用戶能夠理解并向新的 URI 發出訪問請求。   如果這不是一(yī)個GET 或者 HEAD 請求,那麽浏覽器禁止自動進行重定向,除非得到用戶的确認,因爲請求的條件可能因此發生(shēng)變化。
400 1、語義有誤,當前請求無法被服務器理解。除非進行修改,否則客戶端不應該重複提交這個請求。   2、請求參數有誤。
401 當前請求需要用戶驗證。該響應必須包含一(yī)個适用于被請求資(zī)源的 WWW-Authenticate 信息頭用以詢問用戶信息。客戶端可以重複提交一(yī)個包含恰當的 Authorization 頭信息的請求。如果當前請求已經包含了 Authorization 證書(shū),那麽401響應代表着服務器驗證已經拒絕了那些證書(shū)。如果401響應包含了與前一(yī)個響應相同的身份驗證詢問,且浏覽器已經至少嘗試了一(yī)次驗證,那麽浏覽器應當向用戶展示響應中(zhōng)包含的實體(tǐ)信息,因爲這個實體(tǐ)信息中(zhōng)可能包含了相關診斷信息。參見RFC 2617。
402 該狀态碼是爲了将來可能的需求而預留的。
403 服務器已經理解請求,但是拒絕執行它。與401響應不同的是,身份驗證并不能提供任何幫助,而且這個請求也不應該被重複提交。如果這不是一(yī)個 HEAD 請求,而且服務器希望能夠講清楚爲何請求不能被執行,那麽就應該在實體(tǐ)内描述拒絕的原因。當然服務器也可以返回一(yī)個404響應,假如它不希望讓客戶端獲得任何信息。
404 請求失敗,請求所希望得到的資(zī)源未被在服務器上發現。沒有信息能夠告訴用戶這個狀況到底是暫時的還是永久的。假如服務器知(zhī)道情況的話(huà),應當使用410狀态碼來告知(zhī)舊(jiù)資(zī)源因爲某些内部的配置機制問題,已經永久的不可用,而且沒有任何可以跳轉的地址。404這個狀态碼被廣泛應用于當服務器不想揭示到底爲何請求被拒絕或者沒有其他适合的響應可用的情況下(xià)。
405 請求行中(zhōng)指定的請求方法不能被用于請求相應的資(zī)源。該響應必須返回一(yī)個Allow 頭信息用以表示出當前資(zī)源能夠接受的請求方法的列表。   鑒于 PUT,DELETE 方法會對服務器上的資(zī)源進行寫操作,因而絕大(dà)部分(fēn)的網頁服務器都不支持或者在默認配置下(xià)不允許上述請求方法,對于此類請求均會返回405錯誤。
406 請求的資(zī)源的内容特性無法滿足請求頭中(zhōng)的條件,因而無法生(shēng)成響應實體(tǐ)。   除非這是一(yī)個 HEAD 請求,否則該響應就應當返回一(yī)個包含可以讓用戶或者浏覽器從中(zhōng)選擇最合适的實體(tǐ)特性以及地址列表的實體(tǐ)。實體(tǐ)的格式由 Content-Type 頭中(zhōng)定義的媒體(tǐ)類型決定。浏覽器可以根據格式及自身能力自行作出最佳選擇。但是,規範中(zhōng)并沒有定義任何作出此類自動選擇的标準。
407  與401響應類似,隻不過客戶端必須在代理服務器上進行身份驗證。代理服務器必須返回一(yī)個 Proxy-Authenticate 用以進行身份詢問。客戶端可以返回一(yī)個 Proxy-Authorization 信息頭用以驗證。參見RFC 2617。
408 請求超時。客戶端沒有在服務器預備等待的時間内完成一(yī)個請求的發送。客戶端可以随時再次提交這一(yī)請求而無需進行任何更改。
409 由于和被請求的資(zī)源的當前狀态之間存在沖突,請求無法完成。這個代碼隻允許用在這樣的情況下(xià)才能被使用:用戶被認爲能夠解決沖突,并且會重新提交新的請求。該響應應當包含足夠的信息以便用戶發現沖突的源頭。   沖突通常發生(shēng)于對 PUT 請求的處理中(zhōng)。例如,在采用版本檢查的環境下(xià),某次 PUT 提交的對特定資(zī)源的修改請求所附帶的版本信息與之前的某個(第三方)請求向沖突,那麽此時服務器就應該返回一(yī)個409錯誤,告知(zhī)用戶請求無法完成。此時,響應實體(tǐ)中(zhōng)很可能會包含兩個沖突版本之間的差異比較,以便用戶重新提交歸并以後的新版本。
410 被請求的資(zī)源在服務器上已經不再可用,而且沒有任何已知(zhī)的轉發地址。這樣的狀況應當被認爲是永久性的。如果可能,擁有鏈接編輯功能的客戶端應當在獲得用戶許可後删除所有指向這個地址的引用。如果服務器不知(zhī)道或者無法确定這個狀況是否是永久的,那麽就應該使用404狀态碼。除非額外(wài)說明,否則這個響應是可緩存的。   410響應的目的主要是幫助網站管理員(yuán)維護網站,通知(zhī)用戶該資(zī)源已經不再可用,并且服務器擁有者希望所有指向這個資(zī)源的遠端連接也被删除。這類事件在限時、增值服務中(zhōng)很普遍。同樣,410響應也被用于通知(zhī)客戶端在當前服務器站點上,原本屬于某個個人的資(zī)源已經不再可用。當然,是否需要把所有永久不可用的資(zī)源标記爲'410 Gone',以及是否需要保持此标記多長時間,完全取決于服務器擁有者。
411 服務器拒絕在沒有定義 Content-Length 頭的情況下(xià)接受請求。在添加了表明請求消息體(tǐ)長度的有效 Content-Length 頭之後,客戶端可以再次提交該請求。
412 服務器在驗證在請求的頭字段中(zhōng)給出先決條件時,沒能滿足其中(zhōng)的一(yī)個或多個。這個狀态碼允許客戶端在獲取資(zī)源時在請求的元信息(請求頭字段數據)中(zhōng)設置先決條件,以此避免該請求方法被應用到其希望的内容以外(wài)的資(zī)源上。
413 服務器拒絕處理當前請求,因爲該請求提交的實體(tǐ)數據大(dà)小(xiǎo)超過了服務器願意或者能夠處理的範圍。此種情況下(xià),服務器可以關閉連接以免客戶端繼續發送此請求。   如果這個狀況是臨時的,服務器應當返回一(yī)個 Retry-After 的響應頭,以告知(zhī)客戶端可以在多少時間以後重新嘗試。
414 請求的URI 長度超過了服務器能夠解釋的長度,因此服務器拒絕對該請求提供服務。這比較少見,通常的情況包括:   本應使用POST方法的表單提交變成了GET方法,導緻查詢字符串(Query String)過長。   重定向URI “黑洞”,例如每次重定向把舊(jiù)的 URI 作爲新的 URI 的一(yī)部分(fēn),導緻在若幹次重定向後 URI 超長。   客戶端正在嘗試利用某些服務器中(zhōng)存在的安全漏洞攻擊服務器。這類服務器使用固定長度的緩沖讀取或操作請求的 URI,當 GET 後的參數超過某個數值後,可能會産生(shēng)緩沖區溢出,導緻任意代碼被執行[1]。沒有此類漏洞的服務器,應當返回414狀态碼。
415 對于當前請求的方法和所請求的資(zī)源,請求中(zhōng)提交的實體(tǐ)并不是服務器中(zhōng)所支持的格式,因此請求被拒絕。
416 如果請求中(zhōng)包含了 Range 請求頭,并且 Range 中(zhōng)指定的任何數據範圍都與當前資(zī)源的可用範圍不重合,同時請求中(zhōng)又(yòu)沒有定義 If-Range 請求頭,那麽服務器就應當返回416狀态碼。   假如 Range 使用的是字節範圍,那麽這種情況就是指請求指定的所有數據範圍的首字節位置都超過了當前資(zī)源的長度。服務器也應當在返回416狀态碼的同時,包含一(yī)個 Content-Range 實體(tǐ)頭,用以指明當前資(zī)源的長度。這個響應也被禁止使用 multipart/byteranges 作爲其 Content-Type。
417 在請求頭 Expect 中(zhōng)指定的預期内容無法被服務器滿足,或者這個服務器是一(yī)個代理服務器,它有明顯的證據證明在當前路由的下(xià)一(yī)個節點上,Expect 的内容無法被滿足。
421 從當前客戶端所在的IP地址到服務器的連接數超過了服務器許可的最大(dà)範圍。通常,這裏的IP地址指的是從服務器上看到的客戶端地址(比如用戶的網關或者代理服務器地址)。在這種情況下(xià),連接數的計算可能涉及到不止一(yī)個終端用戶。
422 從當前客戶端所在的IP地址到服務器的連接數超過了服務器許可的最大(dà)範圍。通常,這裏的IP地址指的是從服務器上看到的客戶端地址(比如用戶的網關或者代理服務器地址)。在這種情況下(xià),連接數的計算可能涉及到不止一(yī)個終端用戶。
422 請求格式正确,但是由于含有語義錯誤,無法響應。(RFC 4918 WebDAV)423 Locked   當前資(zī)源被鎖定。(RFC 4918 WebDAV)
424 由于之前的某個請求發生(shēng)的錯誤,導緻當前請求失敗,例如 PROPPATCH。(RFC 4918 WebDAV)
425 在WebDav Advanced Collections 草案中(zhōng)定義,但是未出現在《WebDAV 順序集協議》(RFC 3658)中(zhōng)。
426 客戶端應當切換到TLS/1.0。(RFC 2817)
449 由微軟擴展,代表請求應當在執行完适當的操作後進行重試。
500 服務器遇到了一(yī)個未曾預料的狀況,導緻了它無法完成對請求的處理。一(yī)般來說,這個問題都會在服務器的程序碼出錯時出現。
501 服務器不支持當前請求所需要的某個功能。當服務器無法識别請求的方法,并且無法支持其對任何資(zī)源的請求。
502 作爲網關或者代理工(gōng)作的服務器嘗試執行請求時,從上遊服務器接收到無效的響應。
503 由于臨時的服務器維護或者過載,服務器當前無法處理請求。這個狀況是臨時的,并且将在一(yī)段時間以後恢複。如果能夠預計延遲時間,那麽響應中(zhōng)可以包含一(yī)個 Retry-After 頭用以标明這個延遲時間。如果沒有給出這個 Retry-After 信息,那麽客戶端應當以處理500響應的方式處理它。   注意:503狀态碼的存在并不意味着服務器在過載的時候必須使用它。某些服務器隻不過是希望拒絕客戶端的連接。
504 作爲網關或者代理工(gōng)作的服務器嘗試執行請求時,未能及時從上遊服務器(URI标識出的服務器,例如HTTP、FTP、LDAP)或者輔助服務器(例如DNS)收到響應。   注意:某些代理服務器在DNS查詢超時時會返回400或者500錯誤
505 服務器不支持,或者拒絕支持在請求中(zhōng)使用的 HTTP 版本。這暗示着服務器不能或不願使用與客戶端相同的版本。響應中(zhōng)應當包含一(yī)個描述了爲何版本不被支持以及服務器支持哪些協議的實體(tǐ)。
506 由《透明内容協商(shāng)協議》(RFC 2295)擴展,代表服務器存在内部配置錯誤:被請求的協商(shāng)變元資(zī)源被配置爲在透明内容協商(shāng)中(zhōng)使用自己,因此在一(yī)個協商(shāng)處理中(zhōng)不是一(yī)個合适的重點。
507 服務器無法存儲完成請求所必須的内容。這個狀況被認爲是臨時的。WebDAV (RFC 4918)
509 服務器達到帶寬限制。這不是一(yī)個官方的狀态碼,但是仍被廣泛使用。
510 獲取資(zī)源所需要的策略并沒有沒滿足。(RFC 2774)

下(xià)一(yī)篇 暫無

上一(yī)篇: 關于IE的 兼容模式

聯系我(wǒ)們

一(yī)次需求提交或許正是成就一(yī)個出色産品的開(kāi)始。
歡迎填寫表格或發送合作郵件至: qczsky@126.com

大(dà)理青橙科技

電(diàn)話(huà):13988578755 13988578755

郵箱:qczsky@126.com

地址:大(dà)理市下(xià)關龍都春天10層