HTTP 狀態碼查詢

搜尋並了解 HTTP 回應狀態碼、分類及實用處理建議。

常用狀態碼

共 58 個狀態碼

HTTP 狀態碼是什麼?

HTTP 狀態碼是伺服器隨每個回應傳回的三位數字,告訴用戶端這次請求成功了、被重導了,還是失敗了。第一位數字代表分類:1xx 資訊、2xx 成功、3xx 重導、4xx 用戶端錯誤、5xx 伺服器錯誤。

這份參考列出每個已註冊的狀態碼、官方名稱與適用情境,讓你在設計 API 時能挑到正確的碼,而不是一律回 200 或 500。

如何查詢狀態碼

  1. 在搜尋框輸入數字(429)或名稱裡的單字(timeout、gateway)。
  2. 已經知道錯誤分類時,用 1xx–5xx 篩選膠囊縮小清單。
  3. 點一列打開詳細面板,裡面說明伺服器該在什麼情況下回這個碼。
  4. 用複製按鈕帶走狀態碼,或打開 MDN 頁面看完整規格。
  5. 定案前先比較相鄰的狀態碼——401 對 403、301 對 307 是最常被搞混的兩組。

狀態碼範例

驗證與權限

GET /admin — no token sent
401 Unauthorized — 用戶端必須先通過驗證

流量限制

100 requests in one second
429 Too Many Requests — 加上 Retry-After,並放慢速度

常被搞混的狀態碼組合

面向401 Unauthorized403 Forbidden
意義缺少或無效的憑證已通過驗證但沒有權限
登入後可重試可以,通常就能通過不行,必須調整權限
常見原因權杖過期角色缺少對應授權
WWW-Authenticate 標頭應該要有不強制
常見問題

HTTP 狀態碼常見問題

401 與 403 差在哪?

401 表示請求沒有有效憑證;403 表示呼叫方已通過驗證,但不被允許執行這個動作。

什麼時候該回 404 而不是 403?

當透露資源存在會洩漏資訊時就回 404——例如別的租戶的私人紀錄。

永久重導該用 301 還是 308?

301 在部分用戶端會把方法改成 GET;308 會保留方法與內容。非 GET 的端點請用 308。

查詢失敗回 200 可以嗎?

不行。請用 404 Not Found,讓用戶端與爬蟲能正確反應。

驗證失敗該回哪個狀態碼?

語法正確但語意不通過時用 422 Unprocessable Content;請求本身格式錯誤時用 400 Bad Request。

預期中的失敗可以用 500 嗎?

不行。5xx 代表需要處理的伺服器故障,用戶端造成的問題請用 4xx。

全部工具