01
1. 五大 HTTP 狀態碼類別
HTTP 狀態碼依第一位數字分為五類:1xx(資訊,請求仍在處理中)、2xx(成功,請求已接收、理解並接受)、3xx(重新導向,需要進一步操作才能完成請求)、4xx(用戶端錯誤,請求本身有問題)以及 5xx(伺服器錯誤,伺服器未能完成看似有效的請求)。這種設計讓用戶端和代理即使面對未明確認識的狀態碼,也能只靠第一位數字做出合理的備援決策。
完整的標準 HTTP 狀態碼參考,從 1xx(資訊)到 5xx(伺服器錯誤)依類別分組。每筆都會顯示官方原因短語、一行描述,以及其來源 RFC 章節。可依代碼、原因短語或描述進行即時搜尋。
HTTP 狀態碼依第一位數字分為五類:1xx(資訊,請求仍在處理中)、2xx(成功,請求已接收、理解並接受)、3xx(重新導向,需要進一步操作才能完成請求)、4xx(用戶端錯誤,請求本身有問題)以及 5xx(伺服器錯誤,伺服器未能完成看似有效的請求)。這種設計讓用戶端和代理即使面對未明確認識的狀態碼,也能只靠第一位數字做出合理的備援決策。
401 Unauthorized 其實表示「未驗證」(儘管名稱如此,它是驗證問題,不是授權問題),而 403 Forbidden 則表示伺服器會拒絕存取,無論是否已驗證,因為用戶端缺少權限。301/308(永久)與 302/307(暫時)在快取與 SEO 上有差異;307 與 308 會在重新導向時保留原始 HTTP 方法與主體,這點不同於 302 與 301。404 Not Found 與 410 Gone 也常常被混淆——410 是更強烈的訊號,表示資源先前存在但已被有意且永久移除,告訴用戶端停止重試。
RFC 9110(HTTP Semantics)於 2022 年發布,整合了先前分散在 RFC 7231 與相關文件中的 HTTP 狀態碼定義。本參考資料以 RFC 9110 的 §15.x 章節作為主要依據,而由其他規格定義的代碼——例如 WebDAV(RFC 4918)或 RFC 6585(429/431)中的速率限制代碼——則引用對應的 RFC。精準使用狀態碼可讓 API 用戶端、監控工具與快取伺服器行為更可預測。