HTTP狀態碼詳解

HTTP狀態碼介紹

  • 狀態碼的職責是當客戶端向服務器發送請求時,描述返回的請求結果。藉助狀態碼,用戶能夠知道服務器端是正常處理了請求,仍是出現了錯誤。

狀態碼的類別

  • http狀態碼一般分爲5種類型,分別是以1~5五個數字開頭,並由三位整數組成
狀態碼 類別 說明
1XX 信息性狀態碼(Information) 接收的請求正在處理
2XX 成功狀態碼(Success) 請求正常處理完畢
3XX 重定向狀態碼(Redirection) (Success) 須要進行附加操做以完成請求
4XX 客戶端錯誤狀態碼(Client Error) 服務器沒法處理請求
5XX 服務器錯誤狀態碼(Server Error) 服務器請求出錯

1XX 信息性狀態碼

  • 這些狀態碼是HTTP 1.1引入的。 對於這些狀態碼的價值還存在爭論。 | 狀態碼 | 狀態消息 | 含義 | | :------| ------: | :------: | | 100 | Continue(繼續) | 收到了請求的起始部分,客戶端應該繼續請求 | | 101 | Switching Protocols 切換協議 | 服務器正根據客戶端的指示將協議切換成 Update Header列出的協議 |

2XX 成功狀態碼

  • 客戶端發起請求時, 這些請求一般都是成功的。服務器有一組用來表示成功的狀態碼,分別對應於不一樣類型的請求。
狀態碼 狀態消息 含義 實例
200 OK 服務器成功處理了請求 HTTP協議詳解-200
204 No Content(沒有內容) 請求成功,但沒有資源返回 (Response不包括實體的主題內容, 瀏覽器不會更新) 狀態碼204
206 Partial Content(部份內容) 對資源的某一部分請求成功 狀態碼206

3XX 重定向狀態碼

  • 重定向狀態碼用來告訴瀏覽器客戶端,它們訪問的資源已被移動, Web服務器發送一個重定向狀態碼和一個可選的Location Header, 告訴客戶端新的資源地址在哪。
  • 瀏覽器客戶端會自動用Location中提供的地址,從新發送新的Request。 這個過程對用戶來講是透明的。
狀態碼 狀態消息 含義 實例
301 Moved Permanently(永久移除) 請求的URL已移走。Response中應該包含一個Location URL, 說明資源如今所處的位置 狀態碼301
302 Found(已找到) 與狀態碼301相似。但這裏的移除是臨時的。 客戶端會使用Location中給出的URL,從新發送新的HTTP request HTTP協議詳解-302
303 See Other(參見其餘) 相似302
304 Not Modified(未修改) 客戶的緩存資源是最新的, 要求客戶端使用緩存 HTTP協議之緩存-304

4XX 客戶端錯誤狀態碼

  • 有時客戶端會發送一些服務器沒法處理的東西,好比格式錯誤的Request, 或者最多見的是, 請求一個不存在的URL。
狀態碼 狀態消息 含義 實例
400 Bad Request (壞請求) 請求報文中存在語法錯誤 狀態碼400
401 Unauthorized(未受權) 客戶端須要經過HTTP認證 HTTP協議之基本認證-401
403 Forbidden(禁止) 請求被服務器拒絕了 狀態碼403
404 Not Found(未找到) 未找到資源 HTTP協議詳解-404
405 Method Not Allowed (不容許使用的方法) 不支持該Request的方法 狀態碼405

5XX服務器錯誤狀態碼

  • 有時,客戶端發送了一條有效Request, Web服務器自身卻出錯了。多是Web服務器運行出錯了,或者網站都掛了。 5XX就是用來描述服務器錯誤的。
狀態碼 狀態消息 含義 實例
500 Internal Server Error(內部服務器錯誤) 服務器遇到一個錯誤,使其沒法爲請求提供服務 狀態碼500
501 Unauthorized(未受權) 客戶端須要經過HTTP認證 狀態碼501
502 Bad Gateway(網關故障) 代理使用的服務器遇到了上游的無效響應 狀態碼502
503 Service Unavailable(未提供此服務) 服務器處於超負載或正在停機維護,沒法處理請求
505 HTTP Version Not Supported(不支持的HTTP版本 服務器收到的請求使用了它不支持的HTTP協議版本 狀態碼505

http://blog.csdn.net/wu_cai_/article/details/51030164數組

相關文章
相關標籤/搜索