天天看點

HTTP常見錯誤傳回代碼

HTTP傳回狀态代碼

當使用者試圖通過HTTP或FTP協定通路一台運作主機上的内容時,Web伺服器傳回一個表示該請求的狀态的數字代碼。該狀态代碼記錄在伺服器日志中,同時也可能在 Web 浏覽器或   FTP用戶端顯示。也就是我們打開頁面發生錯誤時浏覽器顯示的錯誤資訊代碼。狀态代碼可以指明具體請求是否已成功,還可以揭示請求失敗的确切原因。

HTTP協定狀态碼表示的意思主要分為五類 ,大體是 :

——————————————-

1××   保留

2××   表示請求成功地接收

3××   為完成請求客戶需進一步細化請求

4××   客戶錯誤

5××   伺服器錯誤

100 Continue

訓示用戶端應該繼續請求。回送用于通知用戶端此次請求已經收到,并且沒有被伺服器拒絕。

用戶端應該繼續發送剩下的請求資料或者請求已經完成,或者忽略回送資料。伺服器必須發送

最後的回送在請求之後。

101 Switching Protocols 

伺服器依照客服端請求,通過Upgrade頭資訊,改變目前連接配接的應用協定。伺服器将根據Upgrade頭立刻改變協定

在101回送以空行結束的時候。

Successful 

———————————————-

200 OK

訓示客服端的請求已經成功收到,解析,接受。

201 Created 

請求已經完成并一個新的傳回資源被建立。被建立的資源可能是一個URI資源,通常URI資源在Location頭指定。回送應該包含一個實體資料

并且包含資源特性以及location通過使用者或者使用者代理來選擇合适的方法。實體資料格式通過煤體類型來指定即content-type頭。最開始服務 器

必須建立指定的資源在傳回201狀态碼之前。如果行為沒有被立刻執行,伺服器應該傳回202。

202 Accepted 

請求已經被接受用來處理。但是處理并沒有完成。請求可能或者根本沒有遵照執行,因為處理實際執行過程中可能被拒絕。

203 Non-Authoritative Information

不是權威性資訊。

204 No Content 

伺服器已經接受請求并且沒必要傳回實體資料,可能需要傳回更新資訊。回送可能包含新的或更新資訊由entity-headers呈現。

205 Reset Content 

伺服器已經接受請求并且使用者代理應該重新設定文檔視圖。

206 Partial Content 

伺服器已經接受請求GET請求資源的部分。請求必須包含一個Range頭資訊以訓示擷取範圍可能必須包含If-Range頭資訊以成立請求條件。

Redirection 

—————————————————

300 Multiple Choices

請求資源符合任何一個呈現方式。

301 Moved Permanently 

請求的資源已經被賦予一個新的URI。

302 Found 

通過不同的URI請求資源的臨時檔案。

303 See Other

303 See Other。通常是指所請求的資源在别的地方,并且同302一樣,會在header中的location标明資源的位置。在我的一個是使用過程中,我想要建立一個user,當關于這個user的key已經存在的時候,server将傳回303,并且告之這個user的擷取位置。

Example

Client request:

POST / HTTP/1.1 Host: www.example.com

Server response:

HTTP/1.1 303 See Other

<a href="https://s4.51cto.com/wyfs02/M02/8D/9F/wKioL1ikHgXQn9fDAABJsVKzfus181.png" target="_blank"></a>

是以see other的意思就是去别的地方看看。值得注意的是,如果傳回303,但是沒有添加location,那麼隻會檢視一條請求303.而在httpclient的預設進行中,這時候會抛出exception:location not found。

304 Not Modified 

如果客服端已經完成一個有條件的請求并且請求是允許的,但是這個文檔并沒有改變,伺服器應該傳回304狀态碼。304

狀态碼一定不能包含資訊主體,進而通常通過一個頭字段後的第一個空行結束。

請求的資源必須通過代理(由Location字段指定)來通路。Location資源給出了代理的URI。

306 Unused

307 Temporary Redirect

臨時重定向。

Client Error

———————————————–

400 Bad Request

因為錯誤的文法導緻伺服器無法了解請求資訊。

401 Unauthorized 

如果請求需要使用者驗證。回送應該包含一個WWW-Authenticate頭字段用來指明請求資源的權限。

402 Payment Required 

保留狀态碼。

403 Forbidden 

伺服器接受請求,但是被拒絕處理。

404 Not Found 

伺服器已經找到任何比對Request-URI的資源。

405 Menthod Not Allowed 

Request-Line 請求的方法不被允許通過指定的URI。

406 Not Acceptable

用戶端浏覽器不接受所請求頁面的 MIME 類型。

407 Proxy Authentication Required

要求進行代理身份驗證。

408 Reqeust Timeout 

客服端沒有送出任何請求在伺服器等待處理時間内。

409 Conflict

410 Gone

411 Length Required 

伺服器拒絕接受請求在沒有定義Content-Length字段的情況下。

412 Precondition Failed

前提條件失敗。

413 Request Entity Too Large 

伺服器拒絕處理請求因為請求資料超過伺服器能夠處理的範圍。伺服器可能關閉目前連接配接來阻止客服端繼續請求。

414 Request-URI Too Long 

伺服器拒絕服務目前請求因為URI的長度超過了伺服器的解析範圍。

415 Unsupported Media Type 

伺服器拒絕服務目前請求因為請求資料格式并不被請求的資源支援。

416 Request Range Not Satisfialbe

所請求的範圍無法滿足。

417 Expectation Failed

執行失敗。

————————————————-

500 Internal Server Error

伺服器遭遇異常阻止了目前請求的執行

501 Not Implemented 

伺服器沒有相應的執行動作來完成目前請求。

502 Bad Gateway

Web 伺服器用作網關或代理伺服器時收到了無效響應。

503 Service Unavailable 

因為臨時檔案超載導緻伺服器不能處理目前請求。

504 Gateway Timeout

網關通路逾時。

505 Http Version Not Supported

HTTP 版本不受支援。

資料來源于網際網路

本文轉自 32氪 51CTO部落格,原文連結:http://blog.51cto.com/10672221/1898148

繼續閱讀