HTTP 狀態碼詳解與除錯指引

HTTP 狀態碼是伺服器對請求結果的標準化回應。理解常見代碼的意義,可以更快判斷問題出在客戶端、伺服器還是中間環節,並採取正確的除錯步驟。

狀態碼分類

範圍類別意義
1xx資訊請求已收到,繼續處理
2xx成功請求已成功處理
3xx重新導向需要進一步動作才能完成
4xx客戶端錯誤請求有問題(語法、權限、資源不存在等)
5xx伺服器錯誤伺服器無法完成有效請求

常見代碼說明

除錯方向

4xx 錯誤:先檢查請求 URL、方法、標頭與本體是否符合 API 文件。確認身份驗證權杖是否有效、是否過期。404 時核對路徑與資源 ID。429 時降低請求頻率或實作退避重試。

5xx 錯誤:問題多在伺服器端。可稍後重試,並檢查服務狀態頁。若是自己維護的服務,查看伺服器日誌、上游依賴與資源使用情況。502/504 常與逾時或程序崩潰有關。

瀏覽器開發者工具的 Network 面板可以顯示完整狀態碼、回應標頭與本體,是除錯的第一站。命令列工具如 curl 也方便重現請求。

與快取、CDN 的關係

狀態碼與快取標頭(Cache-Control、ETag 等)共同決定內容如何被儲存與重用。301 會被瀏覽器長期記住,錯誤的永久重新導向可能造成困擾。除錯時可嘗試無痕模式或清除快取,以排除舊回應的干擾。

實務建議

設計 API 時應使用語意正確的狀態碼,並在回應本體提供足夠的錯誤說明(同時避免洩露敏感資訊)。客戶端應根據狀態碼做適當處理,而不是只看是否「成功」。記錄請求 ID 有助於與伺服器日誌關聯。

理解狀態碼是網頁與 API 開發的基本功。Wusper 的工具與服務在發生錯誤時也會回傳相應的 HTTP 狀態,方便診斷。