1xx 系列:消息
100 Continue
初始請求已接受,應繼續發送請求的其余部分
101 Switch Protocols
服務器將切換協議(比如建立 WebSocket)
2xx 系列:成功
200 OK
請求成功
201 Created
已創建,成功請求并創建了新資源
202 Accepted
已接受,但未處理完成
204 No Content
請求已成功,但未返回數據(比如使用 PUT 方法上傳新資源,或使用 DELETE 方法刪除服務器資源)
206 Partial Content
返回部分資源(實現 HTTP 斷點續傳)(響應報文中包含由 Content-Range 指定范圍的實體內容)
3xx 系列:重定向
300 Mutiple Choice
客戶端請求對應有多種響應,用戶應繼續選擇其中一個
301 Moved Permanently
永久重定向,瀏覽器會自動訪問新 URL
302 Found
臨時重定向(沒有規定用哪種 Method,被細分為 303 和 307)(登錄攔截)
303 See Other
臨時重定向,使用 GET 重定向請求
307 Temporary Redirect
臨時重定向,使用同樣的 Method 重定向請求
304 Not Modified
原緩沖可繼續使用(客戶端提供 If-Modified-Since/etag,服務器返回 Last-Modified/if-none-match)
305 Use Proxy
客戶端應通過代理請求資源,由于安全原因此狀態碼沒有普及
4xx 系列:客戶端錯誤
400 Bad Request
請求出現語法錯誤
401 Unauthorized
未經授權,但可以通過授權再次請求
403 Forbidden
禁止訪問
404 Not Found
找不到資源
405 Method Not Allowed
請求方法不適用
406 Not Acceptable
服務器無法根據請求內容完成請求,MIME 類型與客戶端指定的 Accpet 頭不兼容
5xx 系列:服務端錯誤
500 Internal Server Error
服務器錯誤
501 Not Implemented
服務器不支持實現請求所需要的功能(比如客戶發出了服務器不支持的 PUT 請求)
502 Bad Gateway
充當網關或代理的服務器收到遠程服務器錯誤
503 Service Unavailable
由于超載或系統維護,服務器暫時無法處理客戶端的請求,服務器可能同時返回 Retry-After 頭
504 Gateway Timeout
充當網關或代理的服務器不能及時收到遠程服務器的響應
505 HTTP Version Not Supported
服務器不支持請求使用的 HTTP 版本
使用方法
- 建立新的 WebSocket 連接時會先走一次 HTTP 協議,返回 101 狀態碼。
- 直接訪問
jd.com
,瀏覽器與服務器的狀態為:
-> 302 (Location: http://www.jd.com/)
-> 307 (Location: https://www.jd.com/)
-> 200
- 用戶沒有登錄時訪問需要登錄的頁面,可使用 302 重定向到登錄頁面。
- 用戶發送的請求缺少必要的參數,比如登陸時沒有密碼,可返回 400 狀態碼。
- 普通用戶訪問管理員頁面,可返回 403 狀態碼。
- 應使用 POST 請求卻使用了 GET 請求,可返回 405 狀態碼。
- 訪問國外某些網站時由于眾所周知的原因,可能會出現 502 / 504 狀態碼。