HTTP状态码表格汇总
HTTP狀態碼
一、介紹
? 狀態碼的職責是當客戶端向服務器端發送請求時,描述返回的請求結果。借助狀態碼,用戶可以知道服務器端是正常處理了請求,還是出現了錯誤。
【注意】 狀態碼是:服務端向客戶端發送的反映響應結果的標識碼。
下面是常見的幾種狀態碼:
| 100~101 | information(信息提示) | 接收請求正在處理 | 100~199 |
| 200~206 | Success(請求成功) | 請求正常處理完畢 | 200~299 |
| 300~305 | Redirection(重定向) | 需要進行附加操作以完成請求 | 300~399 |
| 400~415 | Client Error(客戶端錯誤) | 服務器無法處理請求 | 400~499 |
| 500~505 | Server Error(服務器錯誤) | 服務器處理請求出錯 | 500~599 |
二、HTTP請求狀態碼表:
| 100 | Continue | 繼續,客戶端應繼續其請求 |
| 101 | Switching Protocols | 切換協議。服務器根據客戶端的請求切換協議。只能切換到更高級的協議,例如,切換到HTTP的新版本協議 |
| 200 | OK | 請求成功。一般用于GET與POST請求 |
| 201 | Created | 已創建。成功請求并創建了新的資源 |
| 202 | Accepted | 已接受。已經接受請求,但未處理完成 |
| 203 | Non-Authoritative Information | 非授權信息。請求成功。但返回的meta信息不在原始的服務器,而是一個副本 |
| 204 | No Content | 無內容。服務器成功處理,但未返回內容。在未更新網頁的情況下,可確保瀏覽器繼續顯示當前文檔 |
| 205 | Reset Content | 重置內容。服務器處理成功,用戶終端(例如:瀏覽器)應重置文檔視圖。可通過此返回碼清除瀏覽器的表單域 |
| 206 | Partial Content | 部分內容。服務器成功處理了部分GET請求 |
| 300 | Multiple Choices | 多種選擇。請求的資源可包括多個位置,相應可返回一個資源特征與地址的列表用于用戶終端(例如:瀏覽器)選擇 |
| 301 | Moved Permanently | 永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今后任何新的請求都應使用新的URI代替 |
| 302 | Found | 臨時移動。與301類似。但資源只是臨時被移動。客戶端應繼續使用原有URI |
| 303 | See Other | 查看其它地址。與301類似。使用GET和POST請求查看 |
| 304 | Not Modified | 未修改。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源。客戶端通常會緩存訪問過的資源,通過提供一個頭信息指出客戶端希望只返回在指定日期之后修改的資源 |
| 305 | Use Proxy | 使用代理。所請求的資源必須通過代理訪問 |
| 306 | Unused | 已經被廢棄的HTTP狀態碼 |
| 307 | Temporary Redirect | 臨時重定向。與302類似。使用GET請求重定向 |
| 400 | Bad Request | 客戶端請求的語法錯誤,服務器無法理解 |
| 401 | Unauthorized | 請求要求用戶的身份認證 |
| 402 | Payment Required | 保留,將來使用 |
| 403 | Forbidden | 服務器理解請求客戶端的請求,但是拒絕執行此請求 |
| 404 | Not Found | 服務器無法根據客戶端的請求找到資源(網頁)。通過此代碼,網站設計人員可設置"您所請求的資源無法找到"的個性頁面 |
| 405 | Method Not Allowed | 客戶端請求中的方法被禁止 |
| 406 | Not Acceptable | 服務器無法根據客戶端請求的內容特性完成請求 |
| 407 | Proxy Authentication Required | 請求要求代理的身份認證,與401類似,但請求者應當使用代理進行授權 |
| 408 | Request Time-out | 服務器等待客戶端發送的請求時間過長,超時 |
| 409 | Conflict | 服務器完成客戶端的 PUT 請求時可能返回此代碼,服務器處理請求時發生了沖突 |
| 410 | Gone | 客戶端請求的資源已經不存在。410不同于404,如果資源以前有現在被永久刪除了可使用410代碼,網站設計人員可通過301代碼指定資源的新位置 |
| 411 | Length Required | 服務器無法處理客戶端發送的不帶Content-Length的請求信息 |
| 412 | Precondition Failed | 客戶端請求信息的先決條件錯誤 |
| 413 | Request Entity Too Large | 由于請求的實體過大,服務器無法處理,因此拒絕請求。為防止客戶端的連續請求,服務器可能會關閉連接。如果只是服務器暫時無法處理,則會包含一個Retry-After的響應信息 |
| 414 | Request-URI Too Large | 請求的URI過長(URI通常為網址),服務器無法處理 |
| 415 | Unsupported Media Type | 服務器無法處理請求附帶的媒體格式 |
| 416 | Requested range not satisfiable | 客戶端請求的范圍無效 |
| 417 | Expectation Failed | 服務器無法滿足Expect的請求頭信息 |
| 500 | Internal Server Error | 服務器內部錯誤,無法完成請求 |
| 501 | Not Implemented | 服務器不支持請求的功能,無法完成請求 |
| 502 | Bad Gateway | 作為網關或者代理工作的服務器嘗試執行請求時,從遠程服務器接收到了一個無效的響應 |
| 503 | Service Unavailable | 由于超載或系統維護,服務器暫時的無法處理客戶端的請求。延時的長度可包含在服務器的Retry-After頭信息中 |
| 504 | Gateway Time-out | 充當網關或代理的服務器,未及時從遠端服務器獲取請求 |
| 505 | HTTP Version not supported | 服務器不支持請求的HTTP協議的版本,無法完成處理 |
1、100~199 信息性狀態碼
- 100 Continue:
客戶端想向服務器發送實體,但不確定服務器能不能接受,所以首先會向服務器發送一個攜帶了100 continue的Except,服務器受到這個請求之后如果能接收客戶端發來的實體,那就返回一個100 Continue響應,如果不能就返回一個錯誤碼。
- 101 Switching Protocols:
服務器正在根據客戶端的指定,將協議切換成Update首部所列的協議。
2、200~299 成功
服務器有一組用來表示成功的狀態碼,分別對應于不同類型的請求。
-
200 OK:
從客戶端發來的請求在服務器端被正常處理了,實體的主體部分包含了所請求的資源。
-
201 Created:
用于創建服務器對象的請求(比如:PUT),響應的實體主體部分中應該包含各種引用了已經創建好的資源的URL,Location首部包含的則是具體的引用。
-
202 Accepted:
請求已經被接收,但服務器還沒有執行任何操作。并不意味著服務器會完成這個請求。
-
203 Non-Authoritative-Information:
實體首部包含的信息不是來自于源端服務器,而是來自資源的一份副本
-
204 No Content:
服務器成功處理了請求,但沒有返回任何內容。主要用于在瀏覽器不轉為顯示新文檔的情況下,對其進行更新(比如刷新表單頁面)。
-
205 Reset Content:
用于瀏覽器的代碼,告訴瀏覽器清除當前頁面中所有HTML表單元素。
-
206 Partial Content:
成功執行了一個部分或者Range請求,因為客戶端可以通過一些特殊的首部來獲取部分或者范圍內的文檔。響應報文中包含由 Content-Range 指定范圍的實體內容
3、 300~399 重定向
重定向狀態碼要么告訴客戶端使用代替位置來訪問他們所感興趣的資源,要么就提供一個替代的響應而不是資源的內容。如果資源已被移動,可以發送一個重定向狀態碼和一個可選的Location首部來告知客戶端資源已被移走。以及現在可以在那里找到它。這樣瀏覽器就可以自己轉向新的位置了。
- **300 Multiple Choise:**客戶端請求一個世紀指向多個資源的URL時會返回這個狀態碼,比如服務器上有某個HTML文檔的英語和發育版本,返回這個狀態碼時會有一個選項列表,這樣客戶端就可以選擇了。
- **301 Moved Permanently:**永久性重定向。該狀態碼表示請求的資源已被分配了新的 URI(該URL存在Location首部中),以后應使用資源現在所指的 URI。
- **302 Found:臨時性重定向:**該狀態碼表示請求的資源已被分配了新的 URI(該URL存在Location首部中),希望用戶(本次)能使用新的 URL 訪問,將來的請求還應使用老的URL。注意:剛開始客戶端發送POST請求,在收到302狀態碼后,使用GET請求訪問新給的URL。在HTTP1.0生效。
- **303 See Other:**告知客戶端應該用另一個URL(該URL存在Location首部中)來獲取資源,其主要目的是允許POST請求的響應將客戶端定向到某個資源上去。在HTTP1.1生效。
- **304 Not Modified:**此狀態碼適用于客戶端發送了一個有條件的請求( If-Match,If-ModifiedSince,If-None-Match,If-Range,If-Unmodified-Since )。比如客戶端想獲取某個資源,并且是在XXX時間修改過的新的資源,如果這個資源沒有修改,服務端就返回304給客戶端。
- **305 Use Proxy:**用來告訴客戶端必須通過一個代理來訪問資源,代理的位置在Location里。
- **306:**還沒用這個狀態碼
- **307 Temporary Redirect:**臨時重定向。該狀態碼與 302 Found 有著相同的含義。307 會遵照瀏覽器標準,不會從 POST 變成 GET。
4、400~499 客戶端錯誤
4XX 的響應結果表明客戶端是發生錯誤的原因所在。但很多4xx錯誤都被瀏覽器解決了,所以用戶經常看到的也就是404了。
- **400 Bad Request:**該狀態碼表示請求報文中存在語法錯誤。
- **401 Unauthorized:**告訴客戶端,要想獲取資源的訪問權,首先要對自己認證。
- **402 Payment Required:**此狀態碼還未被使用,保留中。
- **403 Forbidden:**表明服務器拒絕了這個來自客戶端的請求。一般不會說明緣由。
- **404 Not Found:**表明服務器上無法找到請求的資源。一般還會包含一個實體(比如404頁面),以便客戶端給用戶看。
- **405 Method Not Allowed:**客戶端發起的請求中帶有所有請求的URL不支持的方法。同時應該在響應中包含Allow首部,以告訴客戶端可以使用什么方法。
- **406 Not Accepted:**客戶端可以在請求首部中指明自己愿意接收什么類型的實體,但是當服務器沒有這種類型實體的時候,會發送406.
- **407 proxy Authentication Required:**與401類似,但是用于要求對資源進行認證的代理服務器。
- **408 Request TImeout:**如果客戶端完成請求所話的時間太長,服務器返回此代碼并關閉連接。
- **409 Conflict:**用于說明請求可能在資源上引發一些沖突。服務器擔心請求會引發沖突時,發送此代碼。并在響應的主體中描述沖突。
- **410 Gone:**與404類似,只是服務器曾經擁有過此資源。
- **411 Length Required:**服務器要求客戶端發請求的時候包含Content-Length首部的時候發送此代碼。
- **412 Precondition Failed:**客戶端發起了條件請求,且其中一個條件失敗了的時候會收到此狀態碼。
- **413 Request Entity Too large:**客戶端發送的實體主體比服務器所能希望處理的要大時,使用此代碼。
- **414 Request URL Too Long:**客戶端發送的請求URL比服務器所能希望處理的要長時,使用此代碼。
- **415 Unsupported Media Type:**服務器無法理解或無法支持客戶端所發實體內容類型時,使用此狀態碼。
- **416 Request Range Not Satisfiable:**請求報文所請求的是指定資源的某個范圍,而此范圍無效或者無法滿足時,使用此狀態碼
- **417 Expectation Failed:**請求的Expect請求首部包含了一個期望,但是服務器無法滿足此期望時,使用此狀態碼。
5、 500~599 服務器錯誤
5XX 的響應結果表明服務器本身發生錯誤。
- **500 Internal Server Error:**該狀態碼表明服務器端在執行請求時遇到了一個妨礙它為請求提供服務的錯誤,也有可能是 Web 應用存在的 bug 或某些臨時的故障。
- **501 Not Implemented:**客戶端發起的請求超出服務器的能力范圍(比如使用了服務器不支持的請求方法)
- **502 Bad Gateway:**作為代理或網關使用的服務器從請求響應鏈的下一條鏈路上受到了一條偽響應(比如,它無法連接到其他父網關)時,使用此碼。
- **503 Service Unavailable:**該狀態碼表明服務器暫時處于超負載或正在進行停機維護,現在無法處理請求,但是將來可以。如果服務器知道什么時候能回復,可以在響應首部中添加Retry-After
- **504 Gateway Timeout:**與408類似,只是這里的響應來自一個網關或者代理,他們等待另一個服務器對齊請求進行響應超時了。
- **505 HTTP Version Not Supported:**服務器收的請求使用了它無法或者不愿支持的協議版本時,使用此狀態碼。
總結
以上是生活随笔為你收集整理的HTTP状态码表格汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC中的三类消息
- 下一篇: 运行Qt程序的一些注意事项