HTTP狀態代碼列表

每個HTTP響應都帶有一個狀態碼,該信號以清晰的數字表示有關如何處理請求的信息

HTTP狀態代碼是HTTP響應中的第一行,它是從服務器發送到客戶端的。

如果您試圖找出服務器發送特定狀態代碼的原因並了解其含義,或者正在構建服務器並且正在瀏覽以尋找完美的狀態代碼,則此列表將非常有用。

狀態代碼由3位數字和簡短說明表示。

該數字的第一位數字標識回應組

有5組:

  • 1xx:信息性響應-表示已收到並理解了請求
  • 2xx:成功響應-表示已收到,理解並接受了客戶請求的操作
  • 3xx:重定向-表示客戶端必須採取其他措施才能完成請求
  • 4xx:客戶端錯誤-表示存在錯誤,似乎是由客戶端引起的
  • 5xx:服務器錯誤-指示服務器上發生了錯誤

在其餘的文章中,我列出了所有有用的狀態代碼。

(我刪除了一些技術特定的技術,例如WebDAV以及很少使用的技術)

信息回應

狀態碼 描述
100繼續 服務器已接收到請求標頭,客戶端應繼續發送請求正文(在需要發送正文的請求的情況下,例如POST請求)。在因不適當的標頭而拒絕了請求之後,將大型請求正文發送到服務器將效率很低。若要讓服務器檢查請求的標頭,客戶端必須在其初始請求中發送Expect:100-continue作為標頭,並在發送正文之前收到100 Continue狀態碼作為響應。如果客戶端收到錯誤代碼,例如403(禁止)或405(不允許使用方法),則不應發送請求的正文。響應417 Expectation Failed指示應重複請求而沒有Expect標頭,因為它指示服務器不支持期望(例如,HTTP / 1.0服務器就是這種情況)。
101交換協議 客戶端要求服務器切換協議,並且服務器已同意這樣做。參見RFC 7231#6.2.2

成功的回應

狀態碼 描述
200 OK 這是成功HTTP請求的標準響應。
創建了201 通常是對POST請求的響應。該請求已完成,並且已經創建了新資源。
202接受 該請求已被接受以進行處理。關於實際處理及其結果,沒有任何說明,這可能發生在單獨的服務器上,也可能是成批處理的。
203非權威信息 原始服務器返回200,並且客戶端和服務器之間的轉換代理更改了有效負載
204沒有內容 服務器成功處理了請求,但未返回任何內容。
205重設內容 服務器成功處理了請求,但未返回任何內容。與204響應類似,但是服務器要求客戶端重置文檔視圖(例如,用於清除表單)
206部分內容 回應Range如果請求來自客戶端,則服務器會發送部分內容響應。See RFC 7233#4.1

重新導向

狀態碼 描述
301永久移動 此請求和所有將來的請求都應定向到給定的URI。僅與GET / HEAD請求一起使用,並且308 Permanent Redirect所有其他方法。
找到302個 資源被臨時移動到由Location標頭。僅與GET / HEAD請求一起使用,並且307 Temporary Redirect所有其他方法。
303查看其他 發出POST或PUT請求後,指向Location標頭,可使用新的GET請求訪問。
304未修改 客戶端使用請求標頭時If-Modified-Since或者If-None-Match,此響應狀態代碼指示該資源尚未修改。
307臨時重定向 類似於302請求,除非它不允許更改HTTP方法
308永久重定向 類似於301請求,除非它不允許更改HTTP方法

客戶錯誤

狀態碼 描述
400錯誤的要求 由於客戶端上生成了請求錯誤,因此服務器無法處理該請求。錯誤可能包括格式錯誤的請求,太大而無法處理的請求或其他。
401未經授權 在需要身份驗證且未授權客戶端時發送
403禁止 由於各種原因,該資源不可用。如果原因是身份驗證,請選擇401 Unauthorized狀態碼。
找不到404 找不到請求的資源。
405不允許的方法 該資源無法通過該HTTP方法使用,但可能與其他資源一起使用。
406不可接受 客戶通過了Accept標頭,其值與服務器不兼容。
要求407代理身份驗證 在客戶端和服務器之間有一個需要身份驗證的代理。
408請求超時 服務器超時等待請求。
409衝突 指示由於資源的當前狀態衝突(例如多個同時更新之間的編輯衝突)而無法處理該請求。
410去了 該資源不再可用,將不再可用。例如,比404更強大的功能是,搜索引擎將其解釋為從其索引中刪除該資源的指示。
411所需長度 客戶端需要向請求添加Content-Length標頭,這是必需的。
412前提條件失敗 如果客戶發送了If-Unmodified-Since或者If-None-Match請求標頭,並且服務器不能滿足該條件。
413有效負載過大 該請求大於服務器願意或能夠處理的請求。
414 URI太長 提供的URI太長,服務器無法處理。
415不支持的媒體類型 請求實體具有服務器或資源不支持的媒體類型。
416範圍不滿足 客戶要求使用Range標頭,但服務器無法提供該部分。
417期望失敗 服務器無法滿足以下要求Expect請求標頭。
421錯誤的請求 該請求被定向到不能產生響應的服務器(例如,由於連接重用)。
426需要升級 客戶端應切換到協議中指定的其他協議,例如TLS / 1.0Upgrade標頭字段。
428需要先決條件 服務器要求該請求包含一個If-Match標頭。
429請求過多 用戶在給定的時間內發送了太多請求。用於速率限制。
431請求標頭字段太大 由於一個或多個標頭或整個標頭集太大,因此無法滿足該請求。
451由於法律原因不可用 由於法律原因該資源不可用

服務器錯誤

狀態碼 描述
500內部服務器錯誤 通用服務器錯誤消息,在遇到意外情況且沒有其他更具體的消息時給出。
501未實施 服務器要么無法識別請求方法,要么就無法滿足請求。
502錯誤的網關 該服務器充當網關或代理,並從上游服務器收到無效響應。
503服務不可用 該服務器當前暫時不可用(因為它過載或為了維護而關閉)。
504網關超時 該服務器充當網關或代理,沒有及時收到上游服務器的響應。
不支持505 HTTP版本 服務器不支持請求中指定的HTTP協議版本。

更多網絡教程: