
HTTP狀態碼完整解析:所有代碼與其含義
更新日期:2025 年 5 月 10 日
HTTP狀態碼是網頁伺服器對瀏覽器請求的標準化響應,它們以三位數字代碼的形式提供關於請求狀態的即時反饋。無論您是開發人員、網站管理員還是對網頁技術感興趣的用戶,了解這些狀態碼的含義對於診斷網站問題、優化網站性能以及提升用戶體驗都至關重要。本文將全面解析所有類別的HTTP狀態碼,包括它們的用途、常見場景以及處理建議。
HTTP狀態碼概覽
HTTP狀態碼分為五個類別,每個類別反映了不同類型的伺服器響應:
- 1xx - 訊息響應:伺服器已收到請求,需要客戶端繼續操作
- 2xx - 成功響應:請求已成功被伺服器接收、理解並處理
- 3xx - 重定向:客戶端需要採取進一步行動來完成請求
- 4xx - 客戶端錯誤:請求包含錯誤語法或無法實現
- 5xx - 伺服器錯誤:伺服器在處理請求時發生錯誤
理解這些狀態碼不僅有助於診斷問題,還能幫助您優化網站性能並提升用戶體驗。讓我們深入了解每個類別的具體狀態碼。

1xx 訊息響應狀態碼
1xx系列的狀態碼表示臨時性訊息,告知客戶端請求正在處理中。這些代碼在現代網頁開發中相對較少見到,但在某些特定場景中非常重要,特別是涉及長連接或流式傳輸的情況。
狀態碼 | 名稱 | 含義 |
---|---|---|
100 | Continue | 表示目前為止一切正常, 客戶端應繼續請求 |
101 | Switching Protocols | 服務器已理解並同意客戶端請求切換協議 |
102 | Processing | 表示服務器已收到並正在處理請求,但無響應可用 |
103 | Early Hints | 與Link頭字段一起使用,允許用戶代理在伺服器準備響應時開始預加載資源 |
2xx 成功響應狀態碼
2xx系列狀態碼表示客戶端請求已成功被伺服器接收、理解並處理。這是開發者最希望看到的狀態碼,意味著一切運行順利。
狀態碼 | 名稱 | 含義 |
---|---|---|
200 | OK | 請求成功。一般用於GET與POST請求 |
201 | Created | 請求已完成,一個新的資源已經被建立 |
202 | Accepted | 請求已被接受,但尚未處理完成 |
203 | Non-Authoritative Information | 伺服器已成功處理請求,但返回的信息可能來自另一來源 |
204 | No Content | 請求已處理,但沒有內容返回 |
205 | Reset Content | 請求已處理,但需要重置文檔視圖 |
206 | Partial Content | 請求已成功,但僅返回部分內容 |
207 | Multi-Status | 請求已處理,返回的信息可能依照資源的不同而不同 |
208 | Already Reported | 成員已在之前的請求中列出,不會再重複列出 |
226 | IM Used | 伺服器已完成對資源的GET請求,並且響應是對當前實例應用的一個或多個實例操作的結果 |
3xx 重定向狀態碼
3xx系列狀態碼表示重定向,客戶端需要採取進一步行動來完成請求。這通常是因為資源已被移動或者需要通過其他URL訪問。
狀態碼 | 名稱 | 含義 |
---|---|---|
300 | Multiple Choices | 請求有多個可能的響應 |
301 | Moved Permanently | 資源已被永久移動到新位置 |
302 | Found | 資源臨時從不同的URI響應請求 |
303 | See Other | 請求的響應可在另一個URI上找到,應使用GET方法獲取 |
304 | Not Modified | 自上次請求後,資源未被修改 |
305 | Use Proxy | 被請求的資源必須通過指定的代理才能被訪問 |
306 | (Unused) | 此狀態碼已不再使用 |
307 | Temporary Redirect | 資源臨時從不同的URI響應請求,但不改變請求方法 |
308 | Permanent Redirect | 資源已被永久移動到新位置,且請求方法不變 |
4xx 客戶端錯誤狀態碼
4xx系列狀態碼表示客戶端錯誤,請求包含錯誤語法或無法被伺服器實現。這些問題通常需要客戶端修正請求才能解決。
狀態碼 | 名稱 | 含義 |
---|---|---|
400 | Bad Request | 伺服器無法理解請求的格式 |
401 | Unauthorized | 需要用戶身份驗證 |
402 | Payment Required | 保留,將來使用 |
403 | Forbidden | 伺服器理解請求但拒絕執行 |
404 | Not Found | 請求的資源不存在 |
405 | Method Not Allowed | 請求方法不被允許 |
406 | Not Acceptable | 伺服器無法提供與Accept頭要求匹配的內容 |
407 | Proxy Authentication Required | 需要通過代理的身份驗證 |
408 | Request Timeout | 請求超時 |
409 | Conflict | 請求衝突,通常出現在PUT請求期間 |
410 | Gone | 資源不再可用且無轉發地址 |
411 | Length Required | 未指定Content-Length頭信息 |
412 | Precondition Failed | 先決條件失敗 |
413 | Payload Too Large | 請求的實體太大 |
414 | URI Too Long | 請求的URI過長 |
415 | Unsupported Media Type | 請求的媒體類型不受支持 |
416 | Range Not Satisfiable | 請求的範圍無法滿足 |
417 | Expectation Failed | 無法滿足Expect請求頭 |
418 | I'm a teapot | 伺服器拒絕沖泡咖啡,因為它是一個茶壺(愚人節玩笑) |
421 | Misdirected Request | 請求被定向到無法產生響應的伺服器 |
422 | Unprocessable Entity | 請求格式正確但含有語義錯誤 |
423 | Locked | 正在訪問的資源被鎖定 |
424 | Failed Dependency | 由於先前的請求失敗,導致當前請求失敗 |
425 | Too Early | 伺服器不願處理可能被重播的請求 |
426 | Upgrade Required | 客戶端應切換到不同的協議 |
428 | Precondition Required | 原始伺服器要求請求必須有條件 |
429 | Too Many Requests | 用戶在給定時間內發送了太多請求(限流) |
431 | Request Header Fields Too Large | 請求頭字段太大 |
451 | Unavailable For Legal Reasons | 因法律原因無法獲取請求的資源 |
5xx 伺服器錯誤狀態碼
5xx系列狀態碼表示伺服器錯誤,伺服器在處理看似有效的請求時發生錯誤。這些錯誤通常需要網站管理員或開發人員進行調查和修復。
狀態碼 | 名稱 | 含義 |
---|---|---|
500 | Internal Server Error | 伺服器內部錯誤 |
501 | Not Implemented | 伺服器不支持請求的功能 |
502 | Bad Gateway | 伺服器作為網關收到無效響應 |
503 | Service Unavailable | 伺服器暫時無法處理請求(過載或維護) |
504 | Gateway Timeout | 作為網關的伺服器未能及時從上游伺服器獲得響應 |
505 | HTTP Version Not Supported | 伺服器不支持請求使用的HTTP版本 |
506 | Variant Also Negotiates | 內容協商導致循環引用 |
507 | Insufficient Storage | 伺服器無法存儲完成請求所需的內容 |
508 | Loop Detected | 伺服器檢測到無限循環 |
510 | Not Extended | 伺服器需要對請求進行進一步擴展 |
511 | Network Authentication Required | 客戶端需要進行網絡身份驗證 |
常見問答
最常見的HTTP狀態碼有哪些?
最常見的HTTP狀態碼包括:200 OK(成功)、301(永久重定向)、302(臨時重定向)、404(找不到資源)、500(伺服器內部錯誤)。這些狀態碼在日常網頁開發和瀏覽中經常遇到。
如何查看網頁請求的HTTP狀態碼?
您可以通過瀏覽器的開發者工具來查看HTTP狀態碼。在大多數現代瀏覽器中,按F12鍵打開開發者工具,然後切換到「網絡/Network」標籤,刷新頁面後即可看到所有請求的狀態碼。
遇到404錯誤該怎麼辦?
404錯誤表示請求的資源不存在。如果您是用戶,可以檢查URL是否輸入正確,或嘗試從網站的首頁重新導航。如果您是網站管理員,應檢查資源路徑是否正確,或考慮創建自定義404頁面提供更好的用戶體驗。
503錯誤表示什麼,如何解決?
503 Service Unavailable錯誤表示伺服器暫時無法處理請求,通常是因為伺服器過載或正在維護。作為用戶,您可以稍後再試;作為網站管理員,您可能需要增加伺服器資源、優化網站性能或改進流量管理策略。
301和302重定向的區別是什麼?
301表示永久重定向,意味著資源已被永久移動到新位置,搜索引擎會更新其索引。302表示臨時重定向,資源只是暫時位於不同的URL,搜索引擎不會更新索引。在SEO方面,正確使用這兩種重定向非常重要。
結論
了解HTTP狀態碼對於網站開發、維護和故障排除至關重要。這些數字代碼不僅提供了請求處理狀態的即時反饋,還能幫助診斷潛在問題。無論您是經驗豐富的開發人員還是網站管理新手,掌握這些狀態碼的含義都能讓您更有效地解決網站問題,優化用戶體驗。
提示:將此頁面加入書籤,作為HTTP狀態碼的快速參考指南!