HTTP狀態碼介紹(2XX、3XX、4XX、5XX)

 

 

HTTP狀態碼負責表示客戶端HTTP請求的返回結果、標記服務器端的處理是否正常、通知出現的錯誤等工做。瀏覽器

1、狀態碼告知從服務器端返回的請求結果

狀態碼的職責是當客戶端向服務器端發送請求時,描述返回的請求結果。藉助狀態碼,用戶能夠知道服務器端是正常處理了請求,仍是出現了錯誤。緩存

表:狀態碼的類別服務器

  類別 緣由短語
1XX Informational(信息性狀態碼) 接收的請求正在處理
2XX Success(成功狀態碼) 請求正常處理完畢
3XX Redirection(重定向狀態碼) 須要進行附加操做以完成請求
4XX Client Error(客戶端錯誤狀態碼) 服務器沒法處理請求
5XX Server Error(服務器錯誤狀態碼) 服務器處理請求出錯

只要遵照狀態碼類別的定義,即便改變RFC2616中定義的狀態碼,或服務器端自行建立狀態碼都沒問題。分佈式

僅記錄在RFC2616上的HTTP狀態碼就達40種,若再加上WebDAV(Web-based DistributedAuthoring and Versioning,基於萬維網的分佈式創做和版本控制)(RFC491八、5842)和附加HTTP狀態碼(RFC6585)等擴展,數量就達60餘種。別看種類繁多,實際上常用的大概只有14種。接下來,咱們就介紹一下這些具備表明性的14個狀態碼。3d

2、2XX成功

2XX的響應結果代表請求被正常處理了。代理

2.一、 200 OK

表示從客戶端發來的請求在服務器端被正常處理了。在響應報文內,隨狀態碼一塊兒返回的信息會因方法的不一樣而發生改變。好比,使用GET方法時,對應請求資源的實體會做爲響應返回;而使用HEAD方法時,對應請求資源的實體主體不隨報文首部做爲響應返回(即在響應中只返回首部,不會返回實體的主體部分)。版本控制

2.二、 204 No Content

該狀態碼錶明服務器接收的請求已成功處理,但在返回的響應報文中不含實體的主體部分。另外,也不容許返回任何實體的主體。好比,當從瀏覽器發出請求處理後,返回204響應,那麼瀏覽器顯示的頁面不發生更新。通常在只須要從客戶端往服務器發送信息,而對客戶端不須要發送新信息內容的狀況下使用。orm

2.三、 206 Partial Content

該狀態碼錶示客戶端進行了範圍請求,而服務器成功執行了這部分的GET請求。響應報文中包含由Content-Range指定範圍的實體內容。blog

3、3XX重定向

3XX響應結果代表瀏覽器須要執行某些特殊的處理以正確處理請求。資源

3.一、301 Moved Permanently

永久性重定向。該狀態碼錶示請求的資源已被分配了新的URI,之後應使用資源如今所指的URI。也就是說,若是已經把資源對應的URI保存爲書籤了,這時應該按Location首部字段提示的URI從新保存。

像下方給出的請求URI,當指定資源路徑的最後忘記添加斜槓「/」,就會產生301狀態碼。

 

3.二、302 Found

臨時性重定向。該狀態碼錶示請求的資源已被分配了新的URI,但願用戶(本次)能使用新的URI訪問。

和301 Moved Permanently狀態碼類似,但302狀態碼錶明的資源不是被永久移動,只是臨時性質的。換句話說,已移動的資源對應的URI未來還有可能發生改變。好比,用戶把URI保存成書籤,但不會像301狀態碼出現時那樣去更新書籤,而是仍舊保留返回302狀態碼的頁面對應的URI。

3.三、303 See Other

該狀態碼錶示因爲請求對應的資源存在着另外一個URI,應使用GET方法定向獲取請求的資源。303狀態碼和302 Found狀態碼有着相同的功能,但303狀態碼明確表示客戶端應當採用GET方法獲取資源,這點與302狀態碼有區別。好比,當使用POST方法訪問CGI程序,其執行後的處理結果是但願客戶端能以GET方法重定向到另外一個URI上去時,返回303狀態碼。雖然302 Found狀態碼也能夠實現相同的功能,但這裏使用303狀態碼是最理想的。

當30一、30二、303響應狀態碼返回時,幾乎全部的瀏覽器都會把POST改爲GET,並刪除請求報文內的主體,以後請求會自動再次發送。

30一、302標準是禁止將POST方法改變成GET方法的,但實際使用時你們都會這麼作。

3.四、 304 Not Modified

 

 

 該狀態碼錶示客戶端發送附帶條件的請求時,服務器端容許請求訪問資源,但因發生請求未知足條件的狀況後,直接返回304 Not Modified(服務器端資源未改變,可直接使用客戶端未過時的緩存)。304狀態碼返回時,不包含任何響應的主體部分。304雖然被劃分在3XX類別中,可是和重定向沒有關係。

3.五、 307 Temporary Redirect

臨時重定向。該狀態碼與302 Found有着相同的含義。儘管302標準禁止POST變換成GET,但實際使用時你們並不遵照。307會遵守瀏覽器標準,不會從POST變成GET。可是,對於處理響應時的行爲,每種瀏覽器有可能出現不一樣的狀況。

4、4XX客戶端錯誤

4XX的響應結果代表客戶端是發生錯誤的緣由所在。

4.一、 400 Bad Request

該狀態示請求報文中存在語法錯誤。當錯誤發生時,需修改請求的內容後再次發送請求。另外,瀏覽器會像200 OK同樣對待該狀態碼。

4.二、 401 Unauthorized

該狀態碼錶示發送的請求須要有經過HTTP認證(BASIC認證、DIGEST認證)的認證信息。另外若以前已進行過1次請求,則表示用戶認證失敗。

返回含有401的響應必須包含一個適用於被請求資源的WWW-Authenticate首部用以質詢(challenge)用戶信息。當瀏覽器初次接收到401響應,會彈出認證用的對話窗口。

4.三、 403 Forbidden

 該狀態碼代表對請求資源的訪問被服務器拒絕了。服務器端沒有必要給出拒絕的詳細理由,但若是想做說明的話,能夠在實體的主體部分對緣由進行描述,這樣就能讓用戶看到了。未得到文件系統的訪問受權,訪問權限出現某些問題(從未受權的發送源IP地址試圖訪問)等列舉的狀況均可能是發生403的緣由。

4.四、 404 Not Found

該狀態碼代表服務器上沒法找到請求的資源或是服務器沒法迴應且不知緣由。。除此以外,也能夠在服務器端拒絕請求且不想說明理由時使用。

5、5XX服務器錯誤

5XX的響應結果代表服務器自己發生錯誤。

5.一、 500 Internal Server Error

該狀態碼代表服務器端在執行請求時發生了錯誤。也有多是Web應用存在的bug或某些臨時的故障。

5.二、 503 Service Unavailable

 該狀態碼代表服務器暫時處於超負載或正在進行停機維護,如今沒法處理請求。若是事先得知解除以上情況須要的時間,最好寫入Retry-After首部字段再返回給客戶端。

狀態碼和情況的不一致

很多返回的狀態碼響應都是錯誤的,可是用戶可能察覺不到這點。好比Web應用程序內部發生錯誤,狀態碼依然返回200 OK,這種狀況也常常遇到。

HTTP狀態碼大全

基本涵蓋了全部問題
HTTP 400 – 請求無效
HTTP 401.1 – 未受權:登陸失敗
HTTP 401.2 – 未受權:服務器配置問題致使登陸失敗
HTTP 401.3 – ACL 禁止訪問資源
HTTP 401.4 – 未受權:受權被篩選器拒絕
HTTP 401.5 – 未受權:ISAPI 或 CGI 受權失敗

HTTP 403 – 禁止訪問
HTTP 403 – 對 Internet 服務管理器 的訪問僅限於 Localhost
HTTP 403.1 禁止訪問:禁止可執行訪問
HTTP 403.2 – 禁止訪問:禁止讀訪問
HTTP 403.3 – 禁止訪問:禁止寫訪問
HTTP 403.4 – 禁止訪問:要求 SSL
HTTP 403.5 – 禁止訪問:要求 SSL 128
HTTP 403.6 – 禁止訪問:IP 地址被拒絕
HTTP 403.7 – 禁止訪問:要求客戶證書
HTTP 403.8 – 禁止訪問:禁止站點訪問
HTTP 403.9 – 禁止訪問:鏈接的用戶過多
HTTP 403.10 – 禁止訪問:配置無效
HTTP 403.11 – 禁止訪問:密碼更改
HTTP 403.12 – 禁止訪問:映射器拒絕訪問
HTTP 403.13 – 禁止訪問:客戶證書已被吊銷
HTTP 403.15 – 禁止訪問:客戶訪問許可過多
HTTP 403.16 – 禁止訪問:客戶證書不可信或者無效
HTTP 403.17 – 禁止訪問:客戶證書已經到期或者還沒有生效 HTTP 404.1 -

沒法找到 Web 站點
HTTP 404- 沒法找到文件
HTTP 405 – 資源被禁止
HTTP 406 – 沒法接受
HTTP 407 – 要求代理身份驗證
HTTP 410 – 永遠不可用
HTTP 412 – 先決條件失敗
HTTP 414 – 請求 – URI 太長

HTTP 500 – 內部服務器錯誤
HTTP 500.100 – 內部服務器錯誤 – ASP 錯誤
HTTP 500-11 服務器關閉
HTTP 500-12 應用程序從新啓動
HTTP 500-13 – 服務器太忙
HTTP 500-14 – 應用程序無效
HTTP 500-15 – 不容許請求 global.asa
Error 501 – 未實現
HTTP 502 – 網關錯誤

 

本文部份內容出自《圖解HTTP》、還有一些內容爲網上找來的資源。

相關文章
相關標籤/搜索