HTTP 狀態碼

📡 HTTP Status

📐 工作原理與說明
HTTP 狀態碼由三位數字組成,首位數字表示響應類別,用於告知客戶端請求的處理結果。
  • 分類:1xx 資訊、2xx 成功、3xx 重定向、4xx 客戶端錯誤、5xx 服務端錯誤。
  • 常見碼:200 成功、301/302 重定向、304 未修改、400 請求錯誤、401 未認證、403 無許可權、404 不存在、500 服務端異常。
  • 重定向:301 為永久重定向(會被瀏覽器快取),302 為臨時重定向。
  • 用途:客戶端據此決定重試、跳轉或報錯處理。

📚 深度解析:HTTP 狀態碼速查

💡 常見使用場景

  • 定位介面故障:看 4xx 與 5xx 的分界判斷責任方——4xx 多半是請求引數或鑑權問題,5xx 說明服務端處理失敗。
  • 核對重定向語義:確認 301(永久,會被瀏覽器長期快取)與 302(臨時)用對了地方,錯誤的 301 會導致使用者長期跳到錯誤地址。
示例
200 OK、301 永久重定向、404 未找到、500 服務端錯誤。

❓ 常見問題(FAQ)

401 和 403 有什麼區別?
401 Unauthorized 表示「未認證」——請求缺少或攜帶了無效憑據,通常應伴隨 WWW-Authenticate 頭提示認證方式;403 Forbidden 表示「已認證但無許可權」,伺服器認識你是誰,只是拒絕訪問。混淆兩者會讓客戶端無法判斷該去登入還是該申請授權。
為什麼 Nginx 日誌裡出現 499?
499 是 Nginx 自定義的狀態碼,表示客戶端在伺服器返回響應前主動關閉了連線(使用者關頁面、前端超時中斷)。它不是標準 HTTP 狀態碼,排查時應看是不是後端響應過慢或前端超時設定過短,而不是去找 4xx 的錯誤處理邏輯。
⚠️ 使用說明與注意事項
📖關於「HTTP 狀態碼」 ▼

📝工具簡介

Look up HTTP status codes with their meaning and typical use cases.