HTTP 狀態碼是伺服器對請求結果的標準化回應。理解常見代碼的意義,可以更快判斷問題出在客戶端、伺服器還是中間環節,並採取正確的除錯步驟。
| 範圍 | 類別 | 意義 |
|---|---|---|
| 1xx | 資訊 | 請求已收到,繼續處理 |
| 2xx | 成功 | 請求已成功處理 |
| 3xx | 重新導向 | 需要進一步動作才能完成 |
| 4xx | 客戶端錯誤 | 請求有問題(語法、權限、資源不存在等) |
| 5xx | 伺服器錯誤 | 伺服器無法完成有效請求 |
4xx 錯誤:先檢查請求 URL、方法、標頭與本體是否符合 API 文件。確認身份驗證權杖是否有效、是否過期。404 時核對路徑與資源 ID。429 時降低請求頻率或實作退避重試。
5xx 錯誤:問題多在伺服器端。可稍後重試,並檢查服務狀態頁。若是自己維護的服務,查看伺服器日誌、上游依賴與資源使用情況。502/504 常與逾時或程序崩潰有關。
瀏覽器開發者工具的 Network 面板可以顯示完整狀態碼、回應標頭與本體,是除錯的第一站。命令列工具如 curl 也方便重現請求。
狀態碼與快取標頭(Cache-Control、ETag 等)共同決定內容如何被儲存與重用。301 會被瀏覽器長期記住,錯誤的永久重新導向可能造成困擾。除錯時可嘗試無痕模式或清除快取,以排除舊回應的干擾。
設計 API 時應使用語意正確的狀態碼,並在回應本體提供足夠的錯誤說明(同時避免洩露敏感資訊)。客戶端應根據狀態碼做適當處理,而不是只看是否「成功」。記錄請求 ID 有助於與伺服器日誌關聯。
理解狀態碼是網頁與 API 開發的基本功。Wusper 的工具與服務在發生錯誤時也會回傳相應的 HTTP 狀態,方便診斷。