HTTP 狀態碼是服務器對客戶端請求的響應狀態標識,分為五大類(以第一位數字區分),常用狀態碼如下:
1. 信息類(1xx):請求已接收,繼續處理
- 100 Continue:服務器已接收請求頭,客戶端可繼續發送請求體
- 101 Switching Protocols:服務器同意客戶端切換協議(如 HTTP 切換到 WebSocket)
2. 成功類(2xx):請求已成功處理
- 200 OK:請求成功(最常見狀態)
- 201 Created:請求成功并創建了新資源(如 POST 新增數據)
- 204 No Content:請求成功,但無返回內容(如 DELETE 操作)
- 206 Partial Content:部分請求成功(如斷點續傳)
3. 重定向類(3xx):需要進一步操作完成請求
- 301 Moved Permanently:資源永久遷移到新 URL(瀏覽器會緩存新地址)
- 302 Found:資源臨時遷移到新 URL(瀏覽器不緩存,每次請求需重新跳轉)
- 304 Not Modified:資源未修改,可使用本地緩存(常用于靜態資源優化)
- 307 Temporary Redirect:臨時重定向,保持原請求方法(如 POST 不會轉為 GET)
- 308 Permanent Redirect:永久重定向,保持原請求方法
4. 客戶端錯誤(4xx):請求存在錯誤
- 400 Bad Request:請求格式錯誤(如參數無效)
- 401 Unauthorized:未認證(需登錄或令牌失效)
- 403 Forbidden:服務器拒絕請求(已認證但無權限)
- 404 Not Found:請求的資源不存在
- 405 Method Not Allowed:請求方法不支持(如用 POST 訪問只允許 GET 的接口)
- 408 Request Timeout:請求超時
- 409 Conflict:請求與資源當前狀態沖突(如修改已被他人更新的數據)
- 413 Payload Too Large:請求體過大
- 415 Unsupported Media Type:不支持的請求數據格式
- 429 Too Many Requests:請求頻率超限(限流)
5. 服務器錯誤(5xx):服務器處理請求時出錯
- 500 Internal Server Error:服務器內部錯誤(最常見服務器錯誤)
- 502 Bad Gateway:網關/代理服務器收到無效響應
- 503 Service Unavailable:服務器暫時不可用(如維護中)
- 504 Gateway Timeout:網關/代理服務器等待后端響應超時
- 505 HTTP Version Not Supported:不支持請求的 HTTP 版本
這些狀態碼通過標準化的數字標識,幫助客戶端快速判斷請求結果,是 HTTP 協議的核心機制之一。實際開發中,4xx 和 5xx 類錯誤碼常用于排查接口問題,2xx 和 3xx 則表示正常流程。