HTTP 狀態碼速查表
1xx~5xx 含義與排查提示,含 Nginx / Cloudflare 擴展碼
共 68 個狀態碼
客戶端應繼續發送請求正文
排查: 客戶端等待 100-continue 超時,可去掉 Expect 請求頭直發請求體
伺服器同意切換協議(如升級 WebSocket)
排查: 升級失敗時查反向代理是否轉發 Upgrade 與 Connection 頭
伺服器已收到請求,仍在處理中
在最終回應前先行返回提示頭
排查: 瀏覽器 DevTools 裡看不到屬正常,重點查 CDN 是否提前返回回應
請求成功
請求成功且建立了新資源
請求已受理,尚未處理完成
排查: 受理不等於完成,結果需另查任務狀態接口
返回信息來自副本,非權威來源
請求成功但無返回內容
排查: 不要給 204 寫回應內容,否則客戶端或代理會判為協議錯誤
請求成功,客戶端應重置視圖
成功返回部分內容(Range 請求)
排查: 斷點續傳失敗時查 Accept-Ranges 與 Range 處理邏輯
多個狀態,用於 WebDAV
排查: WebDAV 需解析回應 XML 中各資源自己的狀態碼
資源有多個可用表示
資源已永久移動到新 URL
排查: 排查循環跳轉;301 會被瀏覽器長期快取,配錯後很難清
資源臨時移動到其他 URL
排查: 臨時跳轉別當永久用,長期改址應改用 301 或 308
應使用 GET 訪問另一個 URI
排查: 表單提交後用 303 跳回 GET,避免重新整理重複提交
快取有效,可直接使用
排查: 頁面卡舊內容時查 ETag、Last-Modified 與快取頭是否一致
臨時重定向,保留原請求方法
排查: POST 變成 GET 說明跳轉碼用錯,保留方法應選 307
永久重定向,保留原請求方法
排查: 保留請求方法的永久跳轉,配錯同樣會被長期快取
請求語法錯誤,伺服器無法理解
排查: 查請求內容能否解析、Content-Type 與實際格式是否一致
未認證,需要登入或攜帶憑證
排查: 查憑證是否隨請求發送,以及 WWW-Authenticate 指定的認證方式
需要付費(保留狀態碼)
已認證但無權訪問該資源
排查: 先區分「無權限」與「被 WAF 或 Nginx deny 攔截」,後者同樣返回 403
請求的資源不存在
排查: 靜態資源 404 查構建產物路徑與發布目錄,接口 404 查路由前綴
請求方法不被該資源允許
排查: 看 Allow 回應頭確認允許的方法;靜態伺服器對 PUT、DELETE 常直接 405
無法滿足 Accept 頭要求的表示
排查: 查 Accept、Accept-Language 與伺服器可產出的表示是否匹配
需要先通過代理伺服器認證
排查: 代理認證失敗,查 Proxy-Authorization 與代理自身配置
客戶端請求超時
排查: 上傳大檔案超時,調大 client_body_timeout 與 keepalive_timeout
請求與當前資源狀態衝突
排查: 並發寫衝突,應用樂觀鎖或冪等鍵重試
資源已永久失效
排查: 確認資源確實永久下線後再返回,並清理內鏈與站點地圖
缺少 Content-Length 請求頭
排查: 補上 Content-Length;分塊傳輸時不要手寫該頭
If-Match 等前置條件校驗失敗
排查: 查 If-Match、If-Unmodified-Since 與資源當前 ETag 是否一致
請求體過大,伺服器拒絕處理
排查: 調大 Nginx 的 client_max_body_size 與閘道請求內容上限
請求的 URI 過長
排查: 縮短查詢參數或改用 POST;異常長多為跳轉反覆追加參數所致
請求的媒體類型不受支援
排查: 補正確的 Content-Type,charset 不匹配同樣會觸發
Range 請求的範圍無法滿足
排查: 檢查 Range 是否超出資源實際長度
Expect 請求頭的要求無法滿足
排查: 伺服器不支援 Expect,去掉該請求頭重試
彩蛋狀態碼:我是茶壺
請求被發送到無法回應的伺服器
排查: 查 SNI、HTTP 版本不一致與 CDN 回源域名配置
語法正確但語義錯誤(如表單校驗失敗)
排查: 屬業務校驗失敗,看回應內容裡的欄位級錯誤明細
請求過早,存在重放風險
排查: TLS 1.3 early data 的重放保護,稍後重試即可
需要升級協議後重試(如 TLS)
排查: 強制 HTTPS 或協議升級時,檢查 Upgrade 與 TLS 配置
要求請求攜帶 If-Match 等前置條件
排查: 客戶端需帶 If-Match 等前置條件再提交
請求過於頻繁,已觸發限流
排查: 看 Retry-After,並核對限流閾值(Nginx limit_req 或閘道 QPS)
請求頭欄位過大
排查: 精簡 Cookie 與自訂頭,或調大 large_client_header_buffers
因法律原因拒絕提供該資源
排查: 被法律或地區策略攔截,檢查合規要求與地區規則
Nginx 擴展碼:請求頭過大
排查: 調大 large_client_header_buffers,或精簡 Cookie 與自訂請求頭
Nginx 擴展碼:客戶端憑證校驗失敗
排查: 查 ssl_verify_client 配置與客戶端憑證鏈是否完整
Nginx 擴展碼:要求客戶端憑證但未提供
排查: 雙向 TLS 場景:確認客戶端已配置憑證並隨請求發送
Nginx 擴展碼:用 http 訪問了 https 埠
排查: 改用 https 訪問,或用 error_page 497 自動跳轉到 https
Nginx 擴展碼:客戶端在伺服器回應前斷開連線
排查: 多為後端過慢觸發客戶端或閘道超時,查上游耗時與超時閾值
伺服器內部錯誤
排查: 先看應用日誌,再查 error_log 裡的 upstream 段定位異常
伺服器不支援該請求功能
排查: 確認服務是否實現該功能,或該請求方法未開放
閘道從上游收到無效回應
排查: 查上游服務是否存活、埠是否正確、連線池是否打滿
服務暫不可用(過載或維護中)
排查: 查後端實例健康、限流熔斷狀態與維護頁配置
閘道等待上游回應超時
排查: 查閘道超時配置(proxy_read_timeout)與後端慢查詢
不支援的 HTTP 協議版本
排查: 檢查客戶端 HTTP 版本與協議協商配置
伺服器存儲空間不足(WebDAV)
排查: 存儲空間或配額不足,清理或擴容後重試
處理時檢測到無限循環(WebDAV)
排查: WebDAV 檢測到循環,查軟連結與 rewrite 規則
需要網絡認證(如公共 Wi-Fi 登錄)
排查: 公共 Wi-Fi 入口需先認證,檢查認證頁是否正常
Cloudflare 擴展碼:源站返回空回應或未知錯誤
排查: 對比源站訪問日誌與回源日誌,確認源站是否直接返回了空回應
Cloudflare 擴展碼:源站已宕機
排查: 確認源站服務進程與監聽埠是否正常,再看源站是否在重啟
Cloudflare 擴展碼:回源連線超時
排查: 查源站防火牆是否放行 CDN 回源 IP,以及源站網路可達性
Cloudflare 擴展碼:源站不可達
排查: 查回源地址與 DNS 解析是否寫錯,源站是否只監聽內網
Cloudflare 擴展碼:源站回應超時(預設 100 秒)
排查: 把長任務非同步化或加快取,並確認源站自身沒有慢查詢
Cloudflare 擴展碼:與源站 TLS 握手失敗
排查: 查源站憑證、TLS 協議版本與加密套件是否被 CDN 接受
Cloudflare 擴展碼:源站憑證無效
排查: 檢查憑證鏈是否完整、域名是否匹配,或調整 SSL 模式
Cloudflare 擴展碼:Railgun 與源站通訊錯誤(功能已停用)
排查: Railgun 已停止服務,屬歷史狀態碼,可忽略
這個工具不好用,或者遇到 bug?
去回報