常見(jiàn)的HTTP狀態(tài)碼

2020-4-2    seo達(dá)人

HTTP狀態(tài)碼

HTTP狀態(tài)碼(英語(yǔ):HTTP Status Code)是用以表示網(wǎng)頁(yè)服務(wù)器超文本傳輸協(xié)議響應(yīng)狀態(tài)的3位數(shù)字代碼。它由 RFC 2616 規(guī)范定義的,并得到 RFC 2518、RFC 2817、RFC 2295、RFC 2774 與 RFC 4918 等規(guī)范擴(kuò)展。所有狀態(tài)碼的第一個(gè)數(shù)字代表了響應(yīng)的五種狀態(tài)之一。所示的消息短語(yǔ)是典型的,但是可以提供任何可讀取的替代方案。 除非另有說(shuō)明,狀態(tài)碼是HTTP / 1.1標(biāo)準(zhǔn)(RFC 7231)的一部分。



HTTP狀態(tài)碼的官方注冊(cè)表由互聯(lián)網(wǎng)號(hào)碼分配局(Internet Assigned Numbers Authority)維護(hù)。



微軟互聯(lián)網(wǎng)信息服務(wù) (Microsoft Internet Information Services)有時(shí)會(huì)使用額外的十進(jìn)制子代碼來(lái)獲取更多具體信息,但是這些子代碼僅出現(xiàn)在響應(yīng)有效內(nèi)容和文檔中,而不是代替實(shí)際的HTTP狀態(tài)代碼。



HTTP狀態(tài)碼分類



分類 分類描述

1 信息,服務(wù)器收到請(qǐng)求,需要請(qǐng)求者繼續(xù)執(zhí)行操作

2
成功,操作被成功接收并處理

3 重定向,需要進(jìn)一步的操作以完成請(qǐng)求

4
客戶端錯(cuò)誤,請(qǐng)求包含語(yǔ)法錯(cuò)誤或無(wú)法完成請(qǐng)求

5** 服務(wù)器錯(cuò)誤,服務(wù)器在處理請(qǐng)求的過(guò)程中發(fā)生了錯(cuò)誤

1xx 信息(消息)

這一類型的狀態(tài)碼,代表請(qǐng)求已被接受,需要繼續(xù)處理。這類響應(yīng)是臨時(shí)響應(yīng),只包含狀態(tài)行和某些可選的響應(yīng)頭信息,并以空行結(jié)束。由于 HTTP/1.0 協(xié)議中沒(méi)有定義任何 1xx 狀態(tài)碼,所以除非在某些試驗(yàn)條件下,服務(wù)器禁止向此類客戶端發(fā)送 1xx 響應(yīng)。



100 Continue

繼續(xù)??蛻舳藨?yīng)當(dāng)繼續(xù)發(fā)送請(qǐng)求。

101 Switching Protocols

切換協(xié)議。服務(wù)器根據(jù)客戶端的請(qǐng)求切換協(xié)議。只能切換到更高級(jí)的協(xié)議,例如,切換到HTTP的新版本協(xié)議。



2xx 成功

這一類型的狀態(tài)碼,代表請(qǐng)求已成功被服務(wù)器接收、理解、并接受。



200 OK

請(qǐng)求成功。請(qǐng)求所希望的響應(yīng)頭或數(shù)據(jù)體將隨此響應(yīng)返回。出現(xiàn)此狀態(tài)碼是表示正常狀態(tài)。

201 Created

已創(chuàng)建。成功請(qǐng)求并創(chuàng)建了新的資源。

202 Accepted

已接受。已經(jīng)接受請(qǐng)求,但未處理完成。

203 Non-Authoritative Information

非授權(quán)信息。請(qǐng)求成功,但返回的meta信息不在原始的服務(wù)器,而是一個(gè)副本。

204 No Content

無(wú)內(nèi)容。服務(wù)器成功處理,但未返回內(nèi)容。在未更新網(wǎng)頁(yè)的情況下,可確保瀏覽器繼續(xù)顯示當(dāng)前文檔。

205 Reset Content

重置內(nèi)容。服務(wù)器處理成功,用戶終端(例如:瀏覽器)應(yīng)重置文檔視圖??赏ㄟ^(guò)此返回碼清除瀏覽器的表單域。

206 Partial Content

部分內(nèi)容。服務(wù)器成功處理了部分GET請(qǐng)求,類似于 FlashGet 或者迅雷這類的 HTTP下載工具都是使用此類響應(yīng)實(shí)現(xiàn)斷點(diǎn)續(xù)傳或者將一個(gè)大文檔分解為多個(gè)下載段同時(shí)下載。



3xx 重定向

這類狀態(tài)碼代表需要客戶端采取進(jìn)一步的操作才能完成請(qǐng)求。通常,這些狀態(tài)碼用來(lái)重定向,后續(xù)的請(qǐng)求地址(重定向目標(biāo))在本次響應(yīng)的 Location 域中指明。

當(dāng)且僅當(dāng)后續(xù)的請(qǐng)求所使用的方法是 GET 或者 HEAD 時(shí),用戶瀏覽器才可以在沒(méi)有用戶介入的情況下自動(dòng)提交所需要的后續(xù)請(qǐng)求。客戶端應(yīng)當(dāng)自動(dòng)監(jiān)測(cè)無(wú)限循環(huán)重定向(例如:A->A,或者A->B->C->A),因?yàn)檫@會(huì)導(dǎo)致服務(wù)器和客戶端大量不必要的資源消耗。按照 HTTP/1.0 版規(guī)范的建議,瀏覽器不應(yīng)自動(dòng)訪問(wèn)超過(guò)5次的重定向。



300 Multiple Choices

多種選擇。請(qǐng)求的資源可包括多個(gè)位置,相應(yīng)可返回一個(gè)資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇。

301 Moved Permanently

永久移動(dòng)。請(qǐng)求的資源已被永久的移動(dòng)到新URI,返回信息會(huì)包括新的URI,瀏覽器會(huì)自動(dòng)定向到新URI。今后任何新的請(qǐng)求都應(yīng)使用新的URI代替。

302 Move Temporarily(Found)

臨時(shí)移動(dòng)。與301類似,但資源只是臨時(shí)被移動(dòng),客戶端應(yīng)繼續(xù)使用原有URI。

303 See Other

查看其它地址。與301類似,使用GET和POST請(qǐng)求查看。

304 Not Modified

未修改。所請(qǐng)求的資源未修改,服務(wù)器返回此狀態(tài)碼時(shí),不會(huì)返回任何資源??蛻舳送ǔ?huì)緩存訪問(wèn)過(guò)的資源,通過(guò)提供一個(gè)頭信息指出客戶端希望只返回在指定日期之后修改的資源。

305 Use Proxy

使用代理。所請(qǐng)求的資源必須通過(guò)代理訪問(wèn)。

306 Switch Proxy

在版的規(guī)范中,306狀態(tài)碼已經(jīng)不再被使用。它算是已經(jīng)被廢棄的HTTP狀態(tài)碼。

307 Temporary Redirect

臨時(shí)重定向。與302類似,使用GET請(qǐng)求重定向。



4xx 客戶端錯(cuò)誤(請(qǐng)求錯(cuò)誤)

這類的狀態(tài)碼代表了客戶端看起來(lái)可能發(fā)生了錯(cuò)誤,妨礙了服務(wù)器的處理。除非響應(yīng)的是一個(gè) HEAD 請(qǐng)求,否則服務(wù)器就應(yīng)該返回一個(gè)解釋當(dāng)前錯(cuò)誤狀況的實(shí)體,以及這是臨時(shí)的還是永久性的狀況。這些狀態(tài)碼適用于任何請(qǐng)求方法。瀏覽器應(yīng)當(dāng)向用戶顯示任何包含在此類錯(cuò)誤響應(yīng)中的實(shí)體內(nèi)容。

如果錯(cuò)誤發(fā)生時(shí)客戶端正在傳送數(shù)據(jù),那么使用TCP的服務(wù)器實(shí)現(xiàn)應(yīng)當(dāng)仔細(xì)確保在關(guān)閉客戶端與服務(wù)器之間的連接之前,客戶端已經(jīng)收到了包含錯(cuò)誤信息的數(shù)據(jù)包。如果客戶端在收到錯(cuò)誤信息后繼續(xù)向服務(wù)器發(fā)送數(shù)據(jù),服務(wù)器的TCP棧將向客戶端發(fā)送一個(gè)重置數(shù)據(jù)包,以清除該客戶端所有還未識(shí)別的輸入緩沖,以免這些數(shù)據(jù)被服務(wù)器上的應(yīng)用程序讀取并干擾后者。



400 Bad Request

客戶端請(qǐng)求的語(yǔ)法錯(cuò)誤,服務(wù)器無(wú)法理解。

401 Unauthorized

當(dāng)前請(qǐng)求需要用戶驗(yàn)證。

402 Payment Required

該狀態(tài)碼是為了將來(lái)可能的需求而預(yù)留的。(保留,將來(lái)使用。)

403 Forbidden

服務(wù)器理解請(qǐng)求客戶端的請(qǐng)求,但是拒絕執(zhí)行此請(qǐng)求。

404 Not Found

請(qǐng)求失敗,請(qǐng)求所希望得到的資源未被在服務(wù)器上發(fā)現(xiàn)。沒(méi)有信息能夠告訴用戶這個(gè)狀況到底是暫時(shí)的還是永久的。假如服務(wù)器知道情況的話,應(yīng)當(dāng)使用410狀態(tài)碼來(lái)告知舊資源因?yàn)槟承﹥?nèi)部的配置機(jī)制問(wèn)題,已經(jīng)永久的不可用,而且沒(méi)有任何可以跳轉(zhuǎn)的地址。404這個(gè)狀態(tài)碼被廣泛應(yīng)用于當(dāng)服務(wù)器不想揭示到底為何請(qǐng)求被拒絕或者沒(méi)有其他適合的響應(yīng)可用的情況下。出現(xiàn)這個(gè)錯(cuò)誤的最有可能的原因是服務(wù)器端沒(méi)有這個(gè)頁(yè)面。

405 Method Not Allowed

客戶端請(qǐng)求中的方法被禁止,也就是請(qǐng)求行中指定的請(qǐng)求方法不能被用于請(qǐng)求相應(yīng)的資源。該響應(yīng)必須返回一個(gè)Allow 頭信息用以表示出當(dāng)前資源能夠接受的請(qǐng)求方法的列表。

406 Not Acceptable

服務(wù)器無(wú)法根據(jù)客戶端請(qǐng)求的內(nèi)容特性完成請(qǐng)求,也就是請(qǐng)求的資源的內(nèi)容特性無(wú)法滿足請(qǐng)求頭中的條件,因而無(wú)法生成響應(yīng)實(shí)體。

407 Proxy Authentication Required

與401響應(yīng)類似,只不過(guò)客戶端必須在代理服務(wù)器上進(jìn)行身份驗(yàn)證。代理服務(wù)器必須返回一個(gè) Proxy-Authenticate 用以進(jìn)行身份詢問(wèn)??蛻舳丝梢苑祷匾粋€(gè) Proxy-Authorization 信息頭用以驗(yàn)證。參見(jiàn)RFC 2617。

408 Request Timeout

請(qǐng)求超時(shí)??蛻舳藳](méi)有在服務(wù)器預(yù)備等待的時(shí)間內(nèi)完成一個(gè)請(qǐng)求的發(fā)送??蛻舳丝梢噪S時(shí)再次提交這一請(qǐng)求而無(wú)需進(jìn)行任何更改。

409 Conflict

由于和被請(qǐng)求的資源的當(dāng)前狀態(tài)之間存在沖突,請(qǐng)求無(wú)法完成。這個(gè)代碼只允許用在這樣的情況下才能被使用:用戶被認(rèn)為能夠解決沖突,并且會(huì)重新提交新的請(qǐng)求。該響應(yīng)應(yīng)當(dāng)包含足夠的信息以便用戶發(fā)現(xiàn)沖突的源頭。

沖突通常發(fā)生于對(duì) PUT 請(qǐng)求的處理中。例如,在采用版本檢查的環(huán)境下,某次 PUT 提交的對(duì)特定資源的修改請(qǐng)求所附帶的版本信息與之前的某個(gè)(第三方)請(qǐng)求向沖突,那么此時(shí)服務(wù)器就應(yīng)該返回一個(gè)409錯(cuò)誤,告知用戶請(qǐng)求無(wú)法完成。此時(shí),響應(yīng)實(shí)體中很可能會(huì)包含兩個(gè)沖突版本之間的差異比較,以便用戶重新提交歸并以后的新版本。

410 Gone

客戶端請(qǐng)求的資源已經(jīng)不存在。410不同于404,如果資源以前有現(xiàn)在被永久刪除了可使用410代碼,網(wǎng)站設(shè)計(jì)人員可通過(guò)301代碼指定資源的新位置。

411 Length Required

服務(wù)器拒絕在沒(méi)有定義 Content-Length 頭的情況下接受請(qǐng)求。在添加了表明請(qǐng)求消息體長(zhǎng)度的有效 Content-Length 頭之后,客戶端可以再次提交該請(qǐng)求。

412 Precondition Failed

客戶端請(qǐng)求信息的先決條件錯(cuò)誤,也就是服務(wù)器在驗(yàn)證在請(qǐng)求的頭字段中給出先決條件時(shí),沒(méi)能滿足其中的一個(gè)或多個(gè)。這個(gè)狀態(tài)碼允許客戶端在獲取資源時(shí)在請(qǐng)求的元信息(請(qǐng)求頭字段數(shù)據(jù))中設(shè)置先決條件,以此避免該請(qǐng)求方法被應(yīng)用到其希望的內(nèi)容以外的資源上。

413 Request Entity Too Large

服務(wù)器拒絕處理當(dāng)前請(qǐng)求,因?yàn)樵撜?qǐng)求提交的實(shí)體數(shù)據(jù)大小超過(guò)了服務(wù)器愿意或者能夠處理的范圍。此種情況下,服務(wù)器可以關(guān)閉連接以免客戶端繼續(xù)發(fā)送此請(qǐng)求。

如果這個(gè)狀況是臨時(shí)的,服務(wù)器應(yīng)當(dāng)返回一個(gè) Retry-After 的響應(yīng)頭,以告知客戶端可以在多少時(shí)間以后重新嘗試。

414 Request-URI Too Long

請(qǐng)求的URI過(guò)長(zhǎng)(URI通常為網(wǎng)址),服務(wù)器無(wú)法處理。

415 Unsupported Media Type

服務(wù)器無(wú)法處理請(qǐng)求附帶的媒體格式,也就是對(duì)于當(dāng)前請(qǐng)求的方法和所請(qǐng)求的資源,請(qǐng)求中提交的實(shí)體并不是服務(wù)器中所支持的格式,因此請(qǐng)求被拒絕。

416 Requested Range Not Satisfiable

客戶端請(qǐng)求的范圍無(wú)效,也就是如果請(qǐng)求中包含了 Range 請(qǐng)求頭,并且 Range 中指定的任何數(shù)據(jù)范圍都與當(dāng)前資源的可用范圍不重合,同時(shí)請(qǐng)求中又沒(méi)有定義 If-Range 請(qǐng)求頭,那么服務(wù)器就應(yīng)當(dāng)返回416狀態(tài)碼。

417 Expectation Failed

服務(wù)器無(wú)法滿足Expect的請(qǐng)求頭信息,也就是在請(qǐng)求頭 Expect 中指定的預(yù)期內(nèi)容無(wú)法被服務(wù)器滿足,或者這個(gè)服務(wù)器是一個(gè)代理服務(wù)器,它有明顯的證據(jù)證明在當(dāng)前路由的下一個(gè)節(jié)點(diǎn)上,Expect 的內(nèi)容無(wú)法被滿足。



5xx 服務(wù)器錯(cuò)誤

這類狀態(tài)碼代表了服務(wù)器在處理請(qǐng)求的過(guò)程中有錯(cuò)誤或者異常狀態(tài)發(fā)生,也有可能是服務(wù)器意識(shí)到以當(dāng)前的軟硬件資源無(wú)法完成對(duì)請(qǐng)求的處理。除非這是一個(gè)HEAD 請(qǐng)求,否則服務(wù)器應(yīng)當(dāng)包含一個(gè)解釋當(dāng)前錯(cuò)誤狀態(tài)以及這個(gè)狀況是臨時(shí)的還是永久的解釋信息實(shí)體。瀏覽器應(yīng)當(dāng)向用戶展示任何在當(dāng)前響應(yīng)中被包含的實(shí)體。這些狀態(tài)碼適用于任何響應(yīng)方法。



500 Internal Server Error

服務(wù)器內(nèi)部錯(cuò)誤,無(wú)法完成請(qǐng)求。服務(wù)器遇到了一個(gè)未曾預(yù)料的狀況,導(dǎo)致了它無(wú)法完成對(duì)請(qǐng)求的處理。一般來(lái)說(shuō),這個(gè)問(wèn)題都會(huì)在服務(wù)器端的源代碼出現(xiàn)錯(cuò)誤時(shí)出現(xiàn)。

501 Not Implemented

服務(wù)器不支持當(dāng)前請(qǐng)求所需要的某個(gè)功能。當(dāng)服務(wù)器無(wú)法識(shí)別請(qǐng)求的方法,并且無(wú)法支持其對(duì)任何資源的請(qǐng)求。

502 Bad Gateway

作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),從遠(yuǎn)程服務(wù)器接收到了一個(gè)無(wú)效的響應(yīng)。

503 Service Unavailable

由于臨時(shí)的服務(wù)器維護(hù)或者過(guò)載,服務(wù)器當(dāng)前無(wú)法處理請(qǐng)求。這個(gè)狀況是臨時(shí)的,并且將在一段時(shí)間以后恢復(fù)。如果能夠預(yù)計(jì)延遲時(shí)間,那么響應(yīng)中可以包含一個(gè) Retry-After 頭用以標(biāo)明這個(gè)延遲時(shí)間。如果沒(méi)有給出這個(gè) Retry-After 信息,那么客戶端應(yīng)當(dāng)以處理500響應(yīng)的方式處理它。

注意:503狀態(tài)碼的存在并不意味著服務(wù)器在過(guò)載的時(shí)候必須使用它。某些服務(wù)器只不過(guò)是希望拒絕客戶端的連接。

504 Gateway Timeout

作為網(wǎng)關(guān)或者代理工作的服務(wù)器嘗試執(zhí)行請(qǐng)求時(shí),未能及時(shí)從上游服務(wù)器(URI標(biāo)識(shí)出的服務(wù)器,例如HTTP、FTP、LDAP)或者輔助服務(wù)器(例如DNS)收到響應(yīng)。

505 HTTP Version Not Supported

服務(wù)器不支持,或者拒絕支持在請(qǐng)求中使用的 HTTP 版本。這暗示著服務(wù)器不能或不愿使用與客戶端相同的版本。響應(yīng)中應(yīng)當(dāng)包含一個(gè)描述了為何版本不被支持以及服務(wù)器支持哪些協(xié)議的實(shí)體。



感謝觀看!

參考資料:

https://www.runoob.com/http/http-status-codes.html

若想了解更多請(qǐng)參考:

HTTP狀態(tài)碼百度百科

https://blog.csdn.net/GarfieldEr007/article/details/77984065


分享本文至:

日歷

鏈接

個(gè)人資料

存檔