總結
1xx: 正在處理 2xx: 成功 3xx: 重定向,302 重定向,304 協商緩存 4xx: 客戶端錯誤,401 未登錄,403 沒權限,404 資源不存在 5xx: 服務器錯誤
常見的 HTTP 狀態碼詳解
HTTP 狀態碼(HTTP Status Code)是服務器返回給客戶端的響應代碼,用于表示請求的處理結果。它是一個三位數的數字代碼,通常分為五類。
一、HTTP 狀態碼分類狀態碼范圍 類別 含義 1xx
Informational(信息性) 請求正在處理中 2xx
Success(成功) 請求已成功接收并處理 3xx
Redirection(重定向) 需要進一步操作才能完成請求 4xx
Client Error(客戶端錯誤) 請求有誤,服務器無法處理 5xx
Server Error(服務器錯誤) 服務器內部錯誤
二、常見狀態碼詳解
? 1xx:信息性狀態碼(Informational)
表示請求已被服務器接收,正在繼續處理。 客戶端一般無需特別處理這些狀態碼。 狀態碼 描述 100 Continue
客戶端可以繼續發送請求體 101 Switching Protocols
服務器根據客戶端請求切換協議(如升級到 WebSocket)
? 2xx:成功狀態碼(Success)
狀態碼 描述 200 OK
請求成功,正常返回數據 201 Created
請求成功并在服務器上創建了新資源(常用于 POST) 204 No Content
請求成功但沒有返回內容(常用于 DELETE 或 PUT)
? 3xx:重定向狀態碼(Redirection)
表示客戶端需要進一步操作來完成請求,通常是跳轉到另一個 URL。 狀態碼 描述 301 Moved Permanently
資源永久移動到了新位置(SEO 友好) 302 Found
(臨時重定向)資源臨時移動到了新位置 303 See Other
應該使用 GET 方法請求另一個 URI 304 Not Modified
資源未修改,可使用緩存(常用于協商緩存) 307 Temporary Redirect
與 302 類似,但要求保持請求方法不變
? 4xx:客戶端錯誤狀態碼(Client Error)
狀態碼 描述 400 Bad Request
請求格式錯誤,服務器無法理解 401 Unauthorized
請求需要身份驗證(如 Token 過期) 403 Forbidden
服務器拒絕執行請求(權限不足) 404 Not Found
請求的資源不存在 405 Method Not Allowed
請求方法不被允許(如用 POST 請求只支持 GET 的接口) 408 Request Timeout
客戶端請求超時 429 Too Many Requests
客戶端請求過多,服務器限流
? 5xx:服務器錯誤狀態碼(Server Error)
狀態碼 描述 500 Internal Server Error
服務器內部錯誤(最常見的服務端異常) 501 Not Implemented
服務器不支持當前請求的功能 502 Bad Gateway
作為網關或代理的服務器從上游服務器收到無效響應 503 Service Unavailable
服務器暫時不可用(過載或維護) 504 Gateway Timeout
網關或代理服務器等待上游服務器響應超時
三、狀態碼使用場景總結場景 推薦狀態碼 登錄失敗 401 Unauthorized
沒有訪問權限 403 Forbidden
頁面不存在 404 Not Found
接口調用成功 200 OK
創建資源成功 201 Created
刪除/更新資源成功但無返回值 204 No Content
服務器異常 500 Internal Server Error
接口限流 429 Too Many Requests
協商緩存命中 304 Not Modified