http消息状态码
在web項目中,有時候我們在調試代碼的時候,或者在調用接口的時候或多或少碰到客戶端返回一些錯誤消息。我們可以從這些返回的消息代碼中判斷到底是什么錯誤。例如:404、200、500。。。下面我們把這些消息狀態碼用列表呈現出來。
**
1XX
這類型的狀態碼,代表請求已被接受,需要繼續處理。這類響應是臨時響應,只包含狀態行和某些可選的響應頭信息,并以空行結束。由于 HTTP/1.0 協議中沒有定義任何 1xx 狀態碼,所以除非在某些試驗條件下,服務器禁止向此類客戶端發送 1xx 響應。
| 100 Continue | 服務器僅接收到部分請求,但是一旦服務器并沒有拒絕該請求,客戶端應該繼續發送其余的請求。 |
| 101 Switching Protocols | 服務器轉換協議:服務器將遵從客戶的請求轉換到另外一種協議。 |
2XX:成功
? 這一類型的狀態碼,代表請求已成功被服務器接收、理解、并接受
| 200 OK | 請求成功(其后是對GET和POST請求的應答文檔。) |
| 201 Created | 請求被創建完成,同時新的資源被創建。 |
| 202 Accepted | 供處理的請求已被接受,但是處理未完成。 |
| 203 Non-authoritative Information | 文檔已經正常地返回,但一些應答頭可能不正確,因為使用的是文檔的拷貝。 |
| 204 No Content | 沒有新文檔。瀏覽器應該繼續顯示原來的文檔。如果用戶定期地刷新頁面,而Servlet可以確定用戶文檔足夠新,這個狀態代碼是很有用的。 |
| 205 Reset Content | 沒有新文檔。但瀏覽器應該重置它所顯示的內容。用來強制瀏覽器清除表單輸入內容。 |
| 206 Partial Content | 客戶發送了一個帶有Range頭的GET請求,服務器完成 |
3XX:重定向
這類狀態碼代表需要客戶端采取進一步的操作才能完成請求。通常,這些狀態碼用來重定向,后續的請求地址(重定向目標)在本次響應的 Location 域中指明。
| 300 Multiple Choices | 多重選擇。鏈接列表。用戶可以選擇某鏈接到達目的地。最多允許五個地址。 |
| 301 Moved Permanently | 所請求的頁面已經轉移至新的url。 |
| 302 Found | 所請求的頁面已經臨時轉移至新的url。 |
| 303 See Other | 所請求的頁面可在別的url下被找到。 |
| 304 Not Modified | 未按預期修改文檔。客戶端有緩沖的文檔并發出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續使用。 |
| 305 Use Proxy | 客戶請求的文檔應該通過Location頭所指明的代理服務器提取。 |
| 306 Unused | 此代碼被用于前一版本。目前已不再使用,但是代碼依然被保留。 |
| 307 Temporary Redirect | 被請求的頁面已經臨時移至新的url。 |
4XX:客戶端錯誤
這類型的消息碼一般是客戶端請求時發送了一個讓服務器無法處理的東西。如果錯誤發生時客戶端正在傳送數據,那么使用TCP的服務器實現應當仔細確保在關閉客戶端與服務器之間的連接之前,客戶端已經收到了包含錯誤信息的數據包。如果客戶端在收到錯誤信息后繼續向服務器發送數據,服務器的TCP棧將向客戶端發送一個重置數據包,以清除該客戶端所有還未識別的輸入緩沖,以免這些數據被服務器上的應用程序讀取并干擾后者。
| 400 Bad Request | 服務器未能理解請求。 |
| 401 Unauthorized | 被請求的頁面需要用戶名和密碼。 |
| 402 Payment Required | 此代碼尚無法使用。 |
| 403 Forbidden | 對被請求頁面的訪問被禁止。 |
| 404 Not Found | 服務器無法找到被請求的頁面。 |
| 405 Method Not Allowed | 請求中指定的方法不被允許。 |
| 406 Not Acceptable | 服務器生成的響應無法被客戶端所接受。 |
| 407 Proxy Authentication Required | 用戶必須首先使用代理服務器進行驗證,這樣請求才會被處理。 |
| 408 Request Timeout | 請求超出了服務器的等待時間。 |
| 409 Conflict | 由于沖突,請求無法被完成。 |
| 410 Gone | 被請求的頁面不可用。 |
| 411 Length Required | “Content-Length” 未被定義。如果無此內容,服務器不會接受請求。 |
| 412 Percondition Failed | 請求中的前提條件被服務器評估為失敗。 |
| 413 Request Entity Too Large | 由于所請求的實體的太大,服務器不會接受請求。 |
| 414 Request-url Too Long | 由于url太長,服務器不會接受請求。當post請求被轉換為帶有很長的查詢信息的get請求時,就會發生這種情況。 |
| 415 Unsupported Media Type | 由于媒介類型不被支持,服務器不會接受請求。 |
| 416 Requested Range Not Satisfiable | 服務器不能滿足客戶在請求中指定的Range頭。 |
| 417 Expectation Failed | 在請求頭 Expect 中指定的預期內容無法被服務器滿足,或者這個服務器是一個代理服務器,它有明顯的證據證明在當前路由的下一個節點上,Expect 的內容無法被滿足。 |
5XX:服務器錯誤
這類型的代碼一般都是客戶端發送一個請求,服務端處理出現異?;蛘呤欠掌饔布荒苤С值仍?/p>
| 500 Internal Server Error | 請求未完成。服務器遇到不可預知的情況。 |
| 501 Not Implemented | 請求未完成。服務器不支持所請求的功能。 |
| 502 Bad Gateway | 請求未完成。服務器從上游服務器收到一個無效的響應。 |
| 503 Service Unavailable | 請求未完成。服務器臨時過載或當機。 |
| 504 Gateway Timeout | 網關超時。 |
| 505 HTTP Version Not Supported | 服務器不支持請求中指明的HTTP協議版本。 |
| 600 Unparseable Response Headers | 源站沒有返回響應頭部,只返回實體內容 |
當然,除了這些還是有一些比較罕見的,在這里就不一一列舉了。比如421、404.1什么的
有人就問,我們要記得這些消息碼有什么用?記住一些比較常見的消息碼能夠準確的定位到錯誤源,更有效的解決問題
總結
- 上一篇: ImageView和onTouchLis
- 下一篇: rhel6 上udev的绑定