DevToolPal
繁

HTTP 狀態碼

用淺白的話解釋每一個 HTTP 狀態碼:它代表什麼、常見原因、如何解決、回應範例,以及定義它的 RFC。

共 70 個狀態碼

1xx 資訊

暫時回應:請求已收到,正在繼續處理。

2xx 成功

請求已成功接收、理解並接受。

3xx 重新導向

用戶端需要再做一步,通常是前往新的 URL。

4xx 用戶端錯誤

請求本身有問題,需要用戶端修正。

400 Bad Request 錯誤的請求 請求格式有誤,伺服器無法處理:語法無效、訊框錯誤或含有無法解析的值。 401 Unauthorized 未授權 請求缺少有效的身分驗證憑證。雖然叫「未授權」,實際意思是「未驗證」:請登入或送出有效的權杖。 402 Payment Required 需要付款 保留供日後使用,但實際上許多服務在需要付款或付費方案才能繼續時回傳它。 403 Forbidden 禁止存取 伺服器理解請求但拒絕授權。除非權限改變,否則重新登入也沒用。 404 Not Found 找不到 伺服器在所要求的 URL 找不到任何內容。它不說明資源是否曾經存在或日後是否會恢復。 405 Method Not Allowed 方法不允許 URL 存在,但不支援所使用的 HTTP 方法。Allow 標頭列出可用的方法。 406 Not Acceptable 無法接受 伺服器無法以用戶端 Accept 標頭所允許的任何格式產生回應。 407 Proxy Authentication Required 需要代理驗證 用戶端與伺服器之間的代理要求先驗證身分,才會轉送請求。 408 Request Timeout 請求逾時 用戶端未在時限內送出完整請求,伺服器關閉了連線。 409 Conflict 衝突 請求與資源目前的狀態衝突,例如重複資料或同時編輯。 410 Gone 已移除 資源已永久消失,且沒有已知的新位址。與 404 不同,這是伺服器刻意聲明的。 411 Length Required 需要長度 伺服器要求 Content-Length 標頭,但請求中沒有。 412 Precondition Failed 先決條件失敗 請求標頭中的先決條件(如 If-Match 或 If-Unmodified-Since)判定為假,因此伺服器沒有套用此請求。 413 Content Too Large 內容過大 請求本文超過伺服器願意或能夠處理的大小。舊稱 Payload Too Large。 414 URI Too Long URI 過長 請求的 URL 超過伺服器願意解析的長度。 415 Unsupported Media Type 不支援的媒體類型 請求本文的媒體類型(Content-Type)或編碼不受支援,伺服器拒絕了請求。 416 Range Not Satisfiable 範圍無法滿足 Range 標頭要求的位元組超出資源的大小。 417 Expectation Failed 預期失敗 伺服器無法滿足請求 Expect 標頭的要求,通常是 Expect: 100-continue。 418 I'm a teapot 我是茶壺 來自超文字咖啡壺控制協定的愚人節玩笑:伺服器是一把茶壺,拒絕煮咖啡。有些網站用它開玩笑或封鎖機器人。 421 Misdirected Request 誤導的請求 請求送到了一台沒有設定為該主機提供服務的伺服器,常見原因是 HTTP/2 連線被重複用於另一個網域。 422 Unprocessable Content 無法處理的內容 請求格式正確但含有語意錯誤,伺服器無法處理。舊稱 Unprocessable Entity。 423 Locked 已鎖定 WebDAV:資源已被鎖定,無法套用該方法。 424 Failed Dependency 相依失敗 WebDAV:操作失敗,因為它相依的同一請求中的另一個操作失敗了。 425 Too Early 為時過早 伺服器拒絕處理以 TLS 1.3 早期資料(0-RTT)送出的請求,因為它可能被重送攻擊。 426 Upgrade Required 需要升級 伺服器拒絕以目前的協定處理請求,要求用戶端升級到 Upgrade 標頭中指定的協定,例如 TLS 或 HTTP/2。 428 Precondition Required 需要先決條件 伺服器要求請求必須是條件式的(If-Match 等),以防止更新遺失。 429 Too Many Requests 請求過多 用戶端在一定時間內送出太多請求(速率限制)。Retry-After 可能說明要等多久。 431 Request Header Fields Too Large 請求標頭欄位過大 請求標頭太大,可能是單一標頭或所有標頭加總過大。 451 Unavailable For Legal Reasons 因法律原因無法提供 由於法院命令或政府審查等法律原因,伺服器無法提供該資源。這個數字向《華氏 451 度》致敬。 499 Client Closed Request (非標準) 用戶端關閉請求 當用戶端在伺服器送出回應前關閉連線時,nginx 會記錄 499。用戶端永遠不會看到這個狀態碼。

5xx 伺服器錯誤

請求有效,但伺服器未能完成。

500 Internal Server Error 伺服器內部錯誤 伺服器遇到非預期的狀況,無法完成請求。這是伺服器端錯誤的通用狀態碼。 501 Not Implemented 未實作 伺服器不支援完成請求所需的功能,通常是不支援請求方法本身。 502 Bad Gateway 錯誤閘道 閘道或代理從它轉送請求的上游伺服器收到了無效的回應。 503 Service Unavailable 服務無法使用 伺服器因過載或維護暫時無法處理請求。Retry-After 可能說明何時再試。 504 Gateway Timeout 閘道逾時 閘道或代理沒有及時從上游伺服器收到回應。 505 HTTP Version Not Supported 不支援的 HTTP 版本 伺服器不支援請求所使用的 HTTP 版本。 506 Variant Also Negotiates 變體也在協商 透明內容協商設定錯誤:被選中的變體本身又設定為參與協商,形成迴圈。 507 Insufficient Storage 儲存空間不足 伺服器無法儲存完成請求所需的內容(磁碟空間或配額不足)。源自 WebDAV。 508 Loop Detected 偵測到迴圈 伺服器在處理 Depth: infinity 的請求(WebDAV)時偵測到無限迴圈。有些主機商也用它表示資源限制。 510 Not Extended 未擴充 伺服器需要更多擴充才能完成請求(HTTP 擴充框架)。該框架已成為歷史。 511 Network Authentication Required 需要網路驗證 用戶端必須先驗證身分才能使用網路,常見於強制登入頁面(飯店或機場 Wi-Fi)。 520 Web Server Returned an Unknown Error (非標準) 未知錯誤 Cloudflare 專用:來源伺服器回傳了空的、未知的或非預期的回應。 521 Web Server Is Down (非標準) 網頁伺服器停止運作 Cloudflare 專用:來源伺服器拒絕了連線。 522 Connection Timed Out (非標準) 連線逾時 Cloudflare 專用:與來源伺服器的 TCP 連線逾時。 523 Origin Is Unreachable (非標準) 無法連線至來源 Cloudflare 專用:Cloudflare 無法連到來源伺服器,通常是 DNS 或路由問題。 524 A Timeout Occurred (非標準) 發生逾時 Cloudflare 專用:已與來源伺服器建立連線,但來源未及時送出 HTTP 回應(預設 100 秒)。 525 SSL Handshake Failed (非標準) SSL 交握失敗 Cloudflare 專用:Cloudflare 與來源伺服器之間的 TLS 交握失敗。 526 Invalid SSL Certificate (非標準) 無效的 SSL 憑證 Cloudflare 專用:在 Full (strict) SSL 模式下,來源伺服器的憑證無效、已過期、自簽或與主機名稱不符。