




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
HTTP狀態(tài)碼,我都是現(xiàn)查現(xiàn)用。我以前記得幾個(gè)常用的狀態(tài)碼,比如200,302,304,404,503。一般來(lái)說(shuō)我也只需要了解這些常用的狀態(tài)碼就可以了。
如果是做AJAX,REST,網(wǎng)絡(luò)爬蟲(chóng),機(jī)器人等程序。還是需要了解其他狀態(tài)碼。
本文我花了一個(gè)多月的時(shí)間把所有的狀態(tài)碼都總結(jié)了下,內(nèi)容太多,看的時(shí)候麻煩耐心點(diǎn)了。HTTP狀態(tài)碼的學(xué)習(xí)資料到處都有,但是都是理論上講解。
本文介紹HTTP協(xié)議中的HTTP狀態(tài)碼(HTTPStatusCode),會(huì)對(duì)大部分的狀態(tài)碼都進(jìn)行了詳細(xì)的實(shí)例講解。要了解狀態(tài)碼,應(yīng)該在實(shí)例中去理解狀態(tài)碼的意義,否則看了也會(huì)忘記的。用Fiddler工具可以查看HTTPRequest和Response,還可以方便地查看Response中的狀態(tài)碼,如果不熟悉這個(gè)工具,可以先參考【Fiddler教程】為了重現(xiàn)HTTP狀態(tài)碼,本文會(huì)使用FiddlerComposer來(lái)創(chuàng)建“特殊的HTTPRequest”.
可以參考【FiddlerComposer創(chuàng)建和發(fā)送HTTPRequest】
閱讀目錄什么是HTTP狀態(tài)碼狀態(tài)碼分類(lèi)常見(jiàn)的狀態(tài)碼1XX消息2XX成功3XX重定向4XX客戶(hù)端錯(cuò)誤5XX服務(wù)器錯(cuò)誤204NoContent(沒(méi)有內(nèi)容)206
PartialContent(部分內(nèi)容)301MovedPermanently(永久移除)400BadRequest(壞請(qǐng)求)403Forbidden(禁止)405MethodNotAllowed(不允許使用的方法)411LengthRequired(要求長(zhǎng)度指示)413RequestEntityTooLarge(請(qǐng)求實(shí)體太大)414RequestURITooLong(請(qǐng)求URI太長(zhǎng))500InternalServerError(內(nèi)部服務(wù)器錯(cuò)誤)501NotImplemented(未實(shí)現(xiàn))502BadGateway(網(wǎng)關(guān)故障)505HTTPVersionNotSupported(不支持的HTTP版本)
什么是HTTP狀態(tài)碼HTTP狀態(tài)碼的作用是:Web服務(wù)器用來(lái)告訴客戶(hù)端,發(fā)生了什么事。狀態(tài)碼位于HTTPResponse的第一行中,會(huì)返回一個(gè)”三位數(shù)字的狀態(tài)碼“和一個(gè)“狀態(tài)消息”?!比粩?shù)字的狀態(tài)碼“便于程序進(jìn)行處理,“狀態(tài)消息”更便于人理解。
如下圖,
當(dāng)客戶(hù)端請(qǐng)求一個(gè)不存在的URL的時(shí)候,Web服務(wù)器會(huì)返回“HTTP/1.1404NotFound”告訴瀏覽器客戶(hù)端。服務(wù)器無(wú)法找到所請(qǐng)求的URL。狀態(tài)碼分類(lèi)HTTP狀態(tài)碼被分為五大類(lèi),目前我們使用的HTTP協(xié)議版本是1.1,支持以下的狀態(tài)碼。隨著協(xié)議的發(fā)展,HTTP規(guī)范中會(huì)定義更多的狀態(tài)碼。
小技巧:
假如你看到一個(gè)狀態(tài)碼518,你并不知道具體518是什么意思。這時(shí)候你只要知道518是屬于(5XX,服務(wù)器錯(cuò)誤就可以了)
已定義范圍分類(lèi)1XX100-101信息提示2XX200-206成功3XX300-305重定向4XX400-415客戶(hù)端錯(cuò)誤5XX500-505服務(wù)器錯(cuò)誤
常見(jiàn)的狀態(tài)碼一般人只需要了解以下常見(jiàn)的狀態(tài)碼就夠了,如果你想了解更多,請(qǐng)繼續(xù)往下看。200OK服務(wù)器成功處理了請(qǐng)求(這個(gè)是我們見(jiàn)到最多的)301/302MovedPermanently(重定向)請(qǐng)求的URL已移走。Response中應(yīng)該包含一個(gè)LocationURL,說(shuō)明資源現(xiàn)在所處的位置304NotModified(未修改)客戶(hù)的緩存資源是最新的,要客戶(hù)端使用緩存404NotFound未找到資源501InternalServerError服務(wù)器遇到一個(gè)錯(cuò)誤,使其無(wú)法對(duì)請(qǐng)求提供服務(wù)
1XX信息性狀態(tài)碼這些狀態(tài)碼是HTTP1.1引入的。對(duì)于這些狀態(tài)碼的價(jià)值還存在爭(zhēng)論(我個(gè)人從來(lái)沒(méi)見(jiàn)過(guò)這些狀態(tài)碼,也沒(méi)有理解這些狀態(tài)碼。)狀態(tài)碼
狀態(tài)消息
含義
實(shí)例100Continue(繼續(xù))收到了請(qǐng)求的起始部分,客戶(hù)端應(yīng)該繼續(xù)請(qǐng)求
101SwitchingProtocols(切換協(xié)議)服務(wù)器正根據(jù)客戶(hù)端的指示將協(xié)議切換成UpdateHeader列出的協(xié)議
2XX成功狀態(tài)碼客戶(hù)端發(fā)起請(qǐng)求時(shí),這些請(qǐng)求通常都是成功的。服務(wù)器有一組用來(lái)表示成功的狀態(tài)碼,分別對(duì)應(yīng)于不同類(lèi)型的請(qǐng)求。狀態(tài)碼狀態(tài)消息含義實(shí)例200OK服務(wù)器成功處理了請(qǐng)求(這個(gè)是我們見(jiàn)到最多的)
HTTP協(xié)議詳解-200201Created(已創(chuàng)建)對(duì)于那些要服務(wù)器創(chuàng)建對(duì)象的請(qǐng)求來(lái)說(shuō),資源已創(chuàng)建完畢。
202Accepted(已接受)請(qǐng)求已接受,但服務(wù)器尚未處理
203Non-AuthoritativeInformation(非權(quán)威信息)服務(wù)器已將事務(wù)成功處理,只是實(shí)體Header包含的信息不是來(lái)自原始服務(wù)器,而是來(lái)自資源的副本。
204NoContent(沒(méi)有內(nèi)容)Response中包含一些Header和一個(gè)狀態(tài)行,但不包括實(shí)體的主題內(nèi)容(沒(méi)有responsebody)
狀態(tài)碼204205ResetContent(重置內(nèi)容)
另一個(gè)主要用于瀏覽器的代碼。意思是瀏覽器應(yīng)該重置當(dāng)前頁(yè)面上所有的HTML表單。
206PartialContent(部分內(nèi)容)
部分請(qǐng)求成功
狀態(tài)碼206
3XX重定向狀態(tài)碼重定向狀態(tài)碼用來(lái)告訴瀏覽器客戶(hù)端,它們?cè)L問(wèn)的資源已被移動(dòng),Web服務(wù)器發(fā)送一個(gè)重定向狀態(tài)碼和一個(gè)可選的LocationHeader,告訴客戶(hù)端新的資源地址在哪。瀏覽器客戶(hù)端會(huì)自動(dòng)用Location中提供的地址,重新發(fā)送新的Request。這個(gè)過(guò)程對(duì)用戶(hù)來(lái)說(shuō)是透明的。301和302非常相似,
一個(gè)是永久轉(zhuǎn)移,一個(gè)是臨時(shí)轉(zhuǎn)移。
(SEO中,搜索引擎如果碰到301,比如網(wǎng)頁(yè)A用301重定向到網(wǎng)頁(yè)B,搜索引擎可以肯定網(wǎng)頁(yè)A永久性改變地址,就會(huì)把網(wǎng)頁(yè)B當(dāng)做唯一有效目標(biāo))302,303,307是一樣。
這是因?yàn)?02是HTTP1.0定義的,HTTP1.1中使用303,307.同時(shí)又保留了302.
(但在現(xiàn)實(shí)中,我們還是用302,我是沒(méi)見(jiàn)過(guò)303和307)
所以這一節(jié),我們只需要掌握302,304就可以了。
狀態(tài)碼狀態(tài)消息含義實(shí)例300MultipleChoices(多項(xiàng)選擇)
客戶(hù)端請(qǐng)求了實(shí)際指向多個(gè)資源的URL。這個(gè)代碼是和一個(gè)選項(xiàng)列表一起返回的,然后用戶(hù)就可以選擇他希望的選項(xiàng)了
301MovedPermanently(永久移除)請(qǐng)求的URL已移走。Response中應(yīng)該包含一個(gè)LocationURL,說(shuō)明資源現(xiàn)在所處的位置狀態(tài)碼301302Found(已找到)與狀態(tài)碼301類(lèi)似。但這里的移除是臨時(shí)的??蛻?hù)端會(huì)使用Location中給出的URL,重新發(fā)送新的HTTPrequestHTTP協(xié)議詳解-302303
SeeOther(參見(jiàn)其他)類(lèi)似302
304NotModified(未修改)客戶(hù)的緩存資源是最新的,要客戶(hù)端使用緩存HTTP協(xié)議之緩存-304305
UseProxy(使用代理)必須通過(guò)代理訪問(wèn)資源,代理的地址在Response的Location中
306
未使用
這個(gè)狀態(tài)碼當(dāng)前沒(méi)使用
307TemporaryRedirect(臨時(shí)重定向類(lèi)似302
4XX客戶(hù)端錯(cuò)誤狀態(tài)碼有時(shí)客戶(hù)端會(huì)發(fā)送一些服務(wù)器無(wú)法處理的東西,比如格式錯(cuò)誤的Request,或者最常見(jiàn)的是,請(qǐng)求一個(gè)不存在的URL。狀態(tài)碼狀態(tài)消息含義實(shí)例400BadRequest(壞請(qǐng)求)告訴客戶(hù)端,它發(fā)送了一個(gè)錯(cuò)誤的請(qǐng)求。狀態(tài)碼400401Unauthorized(未授權(quán))需要客戶(hù)端對(duì)自己認(rèn)證HTTP協(xié)議之基本認(rèn)證-401402PaymentRequired(要求付款)這個(gè)狀態(tài)還沒(méi)被使用,保留給將來(lái)用
403Forbidden(禁止)請(qǐng)求被服務(wù)器拒絕了狀態(tài)碼403404NotFound(未找到)未找到資源HTTP協(xié)議詳解-404405MethodNotAllowed(不允許使用的方法)不支持該Request的方法。狀態(tài)碼405406NotAcceptable(無(wú)法接受)
407ProxyAuthenticationRequired(要求進(jìn)行代理認(rèn)證)與狀態(tài)碼401類(lèi)似,用于需要進(jìn)行認(rèn)證的代理服務(wù)器HTTP協(xié)議之代理-407408RequestTimeout(請(qǐng)求超時(shí))
如果客戶(hù)端完成請(qǐng)求時(shí)花費(fèi)的時(shí)間太長(zhǎng),服務(wù)器可以回送這個(gè)狀態(tài)碼并關(guān)閉連接
409Conflict(沖突)發(fā)出的請(qǐng)求在資源上造成了一些沖突
410Gone(消失了)服務(wù)器曾經(jīng)有這個(gè)資源,現(xiàn)在沒(méi)有了,與狀態(tài)碼404類(lèi)似
411LengthRequired(要求長(zhǎng)度指示)服務(wù)器要求在Request中包含Content-Length。狀態(tài)碼411412PreconditionFailed(先決條件失?。?/p>
413RequestEntityTooLarge(請(qǐng)求實(shí)體太大)客戶(hù)端發(fā)送的實(shí)體主體部分比服務(wù)器能夠或者希望處理的要大狀態(tài)碼413414RequestURITooLong(請(qǐng)求URI太長(zhǎng))客戶(hù)端發(fā)送的請(qǐng)求所攜帶的URL超過(guò)了服務(wù)器能夠或者希望處理的長(zhǎng)度狀態(tài)碼414415UnsupportedMediaType(不支持的媒體類(lèi)型)服務(wù)器無(wú)法理解或不支持客戶(hù)端所發(fā)送的實(shí)體的內(nèi)容類(lèi)型
416RequestedRangeNotSatisfiable(所請(qǐng)求的范圍未得到滿(mǎn)足)
417ExpectationFailed(無(wú)法滿(mǎn)足期望)
5XX服務(wù)器錯(cuò)誤狀態(tài)碼有時(shí)候客戶(hù)端發(fā)送了一條有效Request,Web服務(wù)器自身卻出錯(cuò)了??赡苁荳eb服務(wù)器運(yùn)行出錯(cuò)了,或者網(wǎng)站都掛了。
5XX就是用來(lái)描述服務(wù)器錯(cuò)誤的。
狀態(tài)碼狀態(tài)消息含義實(shí)例500InternalServerError(內(nèi)部服務(wù)器錯(cuò)誤)服務(wù)器遇到一個(gè)錯(cuò)誤,使其無(wú)法為請(qǐng)求提供服務(wù)狀態(tài)碼500501NotImplemented(未實(shí)現(xiàn))客戶(hù)端發(fā)起的請(qǐng)求超出服務(wù)器的能力范圍(比如,使用了服務(wù)器不支持的請(qǐng)求方法)時(shí),使用此狀態(tài)碼。狀態(tài)碼501502BadGateway(網(wǎng)關(guān)故障)代理使用的服務(wù)器遇到了上游的無(wú)效響應(yīng)狀態(tài)碼502503ServiceUnavailable(未提供此服務(wù))服務(wù)器目前無(wú)法為請(qǐng)求提供服務(wù),但過(guò)一段時(shí)間就可以恢復(fù)服務(wù)
504GatewayTimeout(網(wǎng)關(guān)超時(shí))與狀態(tài)嗎408類(lèi)似,但是響應(yīng)來(lái)自網(wǎng)關(guān)或代理,此網(wǎng)關(guān)或代理在等待另一臺(tái)服務(wù)器的響應(yīng)時(shí)出現(xiàn)了超時(shí)
505HTTPVersionNotSupported(不支持的HTTP版本)服務(wù)器收到的請(qǐng)求使用了它不支持的HTTP協(xié)議版本。有些服務(wù)器不支持HTTP早期的HTTP協(xié)議版本,也不支持太高的協(xié)議版本狀態(tài)碼505
204NoContent(沒(méi)有內(nèi)容)返回的Response中只有一些Header和一個(gè)狀態(tài)行,沒(méi)有實(shí)體的主題內(nèi)容(沒(méi)有responsebody)204狀態(tài)碼的作用在于:1.在不獲取資源的情況下了解資源的情況(比如判斷其類(lèi)型)2.通過(guò)查看Response中的狀態(tài)碼,看看某個(gè)對(duì)象是否存在3.通過(guò)查看Header,測(cè)試資源是否被修改了。實(shí)例:先打開(kāi)Fiddler,然后啟動(dòng)瀏覽器訪問(wèn),
你會(huì)捕獲到很多204
206PartialContent(部分內(nèi)容)206狀態(tài)碼代表服務(wù)器已經(jīng)成功處理了部分GET請(qǐng)求(只有發(fā)送GET方法的request,web服務(wù)器才可能返回206),應(yīng)用場(chǎng)景:1.FlashGet,迅雷或者HTTP下載工具都是使用206狀態(tài)碼來(lái)實(shí)現(xiàn)斷點(diǎn)續(xù)傳2.將以個(gè)大文檔分解為多個(gè)下載段同時(shí)下載比如,在線看視頻
實(shí)例:一些流媒體技術(shù)比如在線視頻,可以邊看邊下載。就是使用206來(lái)實(shí)現(xiàn)的。打開(kāi)Fiddler,然后用瀏覽器打開(kāi)“搜狐視頻中的綠箭俠”
/20121011/n354681393.shtml
然后你在Fiddler中就能看到一堆的2061.瀏覽器發(fā)送一個(gè)Get方法的request.
header中包含Range:bytes=5303296-5336063.(意思就是請(qǐng)求得到5303296-5336063這個(gè)范圍的數(shù)據(jù))。2.Web服務(wù)器返回一個(gè)206的Response.header中包含Content-Range:bytes5303296-5336063/12129376(表明這次返回的內(nèi)容范圍)301MovedPermanently(永久移除)請(qǐng)求的URL已移走。Response中應(yīng)該包含一個(gè)LocationURL,說(shuō)明資源現(xiàn)在所處的位置例如:
1.
瀏覽器客戶(hù)端訪問(wèn)
2.Web服務(wù)器返回Response301,Location=
(告訴客戶(hù)端我們的資源位于這里,)3.瀏覽器客戶(hù)端會(huì)自動(dòng)再發(fā)送一個(gè)Request去訪問(wèn)
400BadRequest(壞請(qǐng)求)發(fā)送的Request中的數(shù)據(jù)有錯(cuò)誤(比如:表單有錯(cuò)誤,Cookie有錯(cuò)誤),
這個(gè)我們也經(jīng)常見(jiàn)到。
實(shí)例:還沒(méi)想到,想到了再貼個(gè)實(shí)例上來(lái)。
403Forbidden(禁止)Web客戶(hù)端發(fā)送的請(qǐng)求被Web服務(wù)器拒絕了,如果服務(wù)器想說(shuō)明為什么拒絕請(qǐng)求,可以包含實(shí)體的主體部分來(lái)對(duì)原因進(jìn)行描述。但這個(gè)狀態(tài)碼通常是服務(wù)器不想說(shuō)明拒絕原因。訪問(wèn)下面的URL,會(huì)被服務(wù)器拒絕.并且返回403狀態(tài)碼/it/u=1791561788,200960144&fm=0&gp=0.jpg
404PagenotFound(請(qǐng)求的資源不存在)這個(gè)大家都懂的,值得一提的是:騰訊把404頁(yè)面做成了“尋找被拐兒童”
405MethodNotAllowed(不允許使用的方法)405是指Web服務(wù)器不支持Request中的方法。我個(gè)人認(rèn)為狀態(tài)碼405MethodNotAllowed和501NotImplemented是一樣的意思。都是不支持Request的方法。(目前我還不知道這兩個(gè)的區(qū)別)實(shí)例:
發(fā)送一個(gè)是trace方法的Request給411LengthRequired(要求長(zhǎng)度指示)服務(wù)器要求在Request中包含Content-Length。當(dāng)瀏覽器使用Post方法,發(fā)送數(shù)據(jù)給Web服務(wù)器時(shí),必須要有Content-Length。這樣Web服務(wù)器才知道你要發(fā)送多少數(shù)據(jù),否則Web服務(wù)器會(huì)返回411狀態(tài)碼實(shí)例:發(fā)送一個(gè)Post方法的Request給.
Request中沒(méi)有Content-Length
413RequestEntityTooLarge(請(qǐng)求實(shí)體太大)作用:客戶(hù)端發(fā)送的實(shí)體主體部分比服務(wù)器能夠或者希望處理的要大。
一般情況下我們看不到這個(gè)狀態(tài)碼。因?yàn)闉g覽器不會(huì)發(fā)送太大的數(shù)據(jù)給網(wǎng)站,但是機(jī)器人可能會(huì)。實(shí)例:用post方法發(fā)送一個(gè)大文件(100MB以上)給414RequestURITooLong(請(qǐng)求URI太長(zhǎng))就是說(shuō)RequestURI太長(zhǎng),一般瀏覽器
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝鏡、放大鏡、裝飾鏡及各類(lèi)玻璃制品的生產(chǎn)第二次擴(kuò)建項(xiàng)目環(huán)評(píng)報(bào)告表
- 洋浦疏港高速公路工程SG01標(biāo)段拌合站、鋼筋加工場(chǎng)、辦公用房環(huán)評(píng)報(bào)告(公示稿)環(huán)評(píng)報(bào)告表
- 2025年化學(xué)氣相沉積硫化鋅(CVDZNS)晶體合作協(xié)議書(shū)
- 海南馨島優(yōu)匯生物科技有限公司年產(chǎn)3萬(wàn)噸微生物菌劑和2萬(wàn)噸有機(jī)水溶肥項(xiàng)目環(huán)境影響報(bào)告表公示稿環(huán)評(píng)報(bào)告表
- 中貝通信被擔(dān)保人最近一期財(cái)務(wù)報(bào)表
- 內(nèi)蒙古華云新材料有限公司審計(jì)報(bào)告
- 露天礦山工程邊坡施工方案
- 墩柱滑模施工方案
- 緩釋肥與常規(guī)復(fù)合肥配合施用對(duì)水稻產(chǎn)量和品質(zhì)的影響分析
- 醫(yī)療機(jī)構(gòu)水污染物排放的治理技術(shù)
- 2025年安徽中醫(yī)藥高等專(zhuān)科學(xué)校單招職業(yè)適應(yīng)性測(cè)試題庫(kù)有答案
- 2025年無(wú)錫職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)完整版
- 2025年皖西衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案1套
- 《馬云創(chuàng)業(yè)經(jīng)歷》課件
- 常用量具使用方法課件
- 2024年05月安徽農(nóng)商銀行系統(tǒng)社會(huì)招考計(jì)算機(jī)法律專(zhuān)業(yè)員工人員筆試歷年參考題庫(kù)附帶答案詳解
- 騰訊云人工智能工程師認(rèn)證考試題(附答案)
- 專(zhuān)題03 透鏡及其應(yīng)用(5大模塊知識(shí)清單+5個(gè)易混易錯(cuò)+6種方法技巧+典例真題解析)
- 建設(shè)單位保證工程安全措施的實(shí)施方案
- 第16課數(shù)據(jù)管理與編碼(教案)四年級(jí)全一冊(cè)信息技術(shù)人教版
- 2024中考物理真題匯編:電與磁(含解析)
評(píng)論
0/150
提交評(píng)論