1. 程式人生 > 實用技巧 >Http響應狀態碼含義

Http響應狀態碼含義

在工作中,你去傳送請求,返回的響應中有狀態碼。根據返回的不同狀態碼,知道報錯的原因是什麼?這樣可以快速的去解決問題~
在這裡插入圖片描述
大體分類:
@@@HTTP狀態碼被分為了五大類:
100~199:資訊提示
200~299:成功
300~399:重定向
400~499:客戶端錯誤
500~599:伺服器錯誤
狀態碼為客戶端提供了一種理解事務處理結果的便捷方式,下面對每一種狀態碼做了一個總結。
100~199————資訊性狀態碼
資訊性狀態碼用於資訊提示,已定義的資訊性狀態碼如下:
1)100
原因短語:Continue
含義:說明收到了請求的初始部分,請客戶端繼續,傳送了這個狀態碼之後,服務端在收到請求之後必須進行響應。客戶端需要傳送一個攜帶了值為100 Continue的Expect請求首部,服務端收到後,將回送一個狀態碼為100的響應,並期待客戶端傳送請求實體到服務端處理。

2)101
原因短語:Switching Protocols
含義:說明伺服器正在根據客戶端的指定,將協議切換成Update首部所列的協議
200~299————成功狀態碼
下面是已定義的表示成功的狀態碼:
1)200
原因短語:OK
含義:請求沒問題,實體的主體部分包含了所請求的資源

2)201
原因短語:Created
含義:用於建立伺服器物件的請求,如PUT,伺服器必須在傳送這個狀態碼之前建立好物件

3)202
原因短語:Accepted
含義:請求已被接受,但伺服器還未對其執行任何動作,不能保證伺服器會完成這個請求

4)203
原因短語:Non-Authoritative Information
含義:實體首部包含的資訊不是來自於源端伺服器,而是來自資源的一份副本。如果中間節點上有一份資源副本,但無法或者沒有對它所傳送的與資源有關的元資訊進行驗證,就會出現這種情況。

5)204
原因短語:No Content
含義:響應報文中包含若干首部和一個狀態行,但沒有實體的主體部分。主要用於在瀏覽器不轉為現實新文件的情況下,對其進行更新。

6)205
原因短語:Reset Content
含義:告知瀏覽器清除當前頁面中的所有HTML表單元素

7)206
原因短語:Partial Content
含義:客戶端可以通過一些特殊的首部來獲取部分或某個範圍內的文件,這個狀態碼就說明範圍請求成功了
300~399————重定向狀態碼
重定向狀態碼用於重定向資源,如果資源已被移動,可傳送一個重定向狀態碼和一個可選的Location首部來告知客戶端資源已被移走,以及在哪裡可以找到它,這樣,瀏覽器就可以在不打擾使用者的情況下,透明地轉入新的位置了。

1)300
原因短語:Multiple Choices
含義:客戶端請求一個實際指向多個資源的URL時會返回這個狀態碼,下面是一個例子:
請求報文:
GET /pet-products.txt HTTP/1.1
Host: www.joes-hardware.com
Accept: *
服務端響應報文重定向到另一個地址:
HTTP/1.1 301 OK
Location: http://www.gentle-grooming.com/
Content-length: 56
Content-type: text/plain
//body
客戶端瀏覽器收到重定向響應報文後,將發起一個向新地址的請求:
GET / HTTP/1.1
Host: www.gentle-grooming.com
Accept: *
新地址的響應報文:
HTTP/1.1 200 OK
Content-type: text/html
Content-length: 3307

2)301
原因短語:Moved Permanently
含義:在請求的URL已被移除時使用。響應的Location首部中應該包含資源現在所處的URL

3)302
原因短語:Found
含義:與301類似,但是,客戶端應該使用Location首部給出的URL來臨時定位資源,將來的請求仍應使用老的URL

4)303
原因短語:See Other
含義:告知客戶端應該用另一個URL來獲取資源,新的URL位於響應報文的Location首部,其主要目地是允許POST請求的響應將客戶端定位到某個資源上去

4)304
原因短語:Not Modified
含義:客戶端可以通過所包含的請求首部,使其請求變成有條件的,客戶端發起一個條件GET請求,而最近資源未被修改的話,就可以用這個狀態碼說明資源未被修改,帶有這個狀態碼的響應不包含實體的主體部分。
請求報文:
GET /seasonal/index-fall.html HTTP/1.1
Host: www.joes-hardware.com
Accept: *
If-Modified-Since: Fri, Oct 3 1997 02:16:00 GMT
如果資源未被修改過,則響應報文:
HTTP/1.1 304 Not Modified

5)305
原因短語:Use Proxy
含義:用來說明必須通過一個代理來訪問資源,代理的位置由Location首部給出

6)307
原因短語:Temporary Redirect
含義:和301類似,但客戶端應該使用Location首部給出的URL來臨時定位資源,將來的請求應該使用老的URL
400~499————客戶端錯誤狀態碼
客戶端錯誤狀態碼反饋客戶端請求導致的錯誤,一般由瀏覽器來處理,只有少量錯誤,如404,會反饋到使用者面前。
1)400
原因短語:Bad Request
含義:告知客戶端它傳送了一個錯誤的請求

2)401
原因短語:Unauthorized
含義:與適當的首部一同返回,在這些首部中請求客戶端在獲取對資源的訪問權之前,對自己進行認證

3)402
原因短語:Payment Required
含義:目前還未使用,保留

4)403
原因短語:Forbidden
含義:用於說明請求被伺服器拒絕了

5)404
原因短語:Not Found
含義:伺服器無法找到所請求的URL

6)405
原因短語:Method Not Allowed
含義:發起的請求中帶有所請求的URL不支援的方法時,使用此狀態碼。會在響應中包含Allow首部,以告知客戶端對所請求的資源可以使用哪些方法

7)406
原因短語:Not Acceptable
含義:客戶端可以指定引數來說明它們願意接收什麼型別的實體,伺服器沒有與客戶端可接受的URL相匹配的資源時,使用此程式碼

8)407
原因短語:Proxy Authentication Required
含義:與401類似,但要求對資源進行認證的代理伺服器

9)408
原因短語:Request Timeout
含義:超時後,伺服器可以回送此狀態碼,並關閉連線
10)409
原因短語:Conflict
含義:用於說明請求可能在資源上引發的一些衝突

11)410
原因短語:Gone
含義:與404類似,只是伺服器曾經擁有過此資源,但此資源已經被移除

12)411
原因短語:Length Required
含義:伺服器要求在請求報文中包含Content-Length首部時使用

13)412
原因短語:Precondition Failed
含義:客戶端發起了條件請求,且其中一個條件失敗了的時候使用。客戶端包含了Expect首部時發起的就是條件請求

14)413
原因短語:Request Entity Too Large
含義:客戶端傳送的實體主體部分比伺服器能夠或者希望處理的要大時,使用此狀態碼

15)414
原因短語:Request URI Too Long
含義:客戶端所發請求中的請求URL比伺服器能夠或者希望處理的要長時,使用此狀態碼

16)415
原因短語:Unsupported Media Type
含義:伺服器無法理解或無法支援客戶端所發實體的內容型別時,使用此狀態碼

17)416
原因短語:Requested Range Not Satisfiable
含義:請求報文所請求的是指定資源的某個範圍,而此範圍無效或無法滿足時,使用此狀態碼

18)417
原因短語:Expectation Failed
含義:請求的Expect請求首部包含了一個期望,但伺服器無法滿足此期望時,使用此狀態碼
500~599————伺服器錯誤狀態碼
當伺服器自身出錯後,回送報文中將包含此告警碼。
1)500
原因短語:Internal Server Error
含義:伺服器出錯

2)501
原因短語:Not Implemented
含義:客戶端發起的請求超過伺服器的能力範圍

3)502
原因短語:Bad Gateway
含義:作為代理或閘道器使用的伺服器從請求響應鏈的下一條鏈路上收到了一條偽響應

4)503
原因短語:Service Unavailable
含義:用來說明伺服器暫時無法為請求提供服務,可以包含一個Retry-After首部,告訴客戶端資源什麼時候可用

5)504
原因短語:Gateway Timeout
含義:響應來自閘道器或代理,在等待另一個伺服器對其請求進行響應時超時了

6)505
原因短語:HTTP Version Not Supported
含義:伺服器收到的請求使用了它無法或不願支援的協議版本

每發出一個http請求之後,都會有一個響應,http本身會有一個狀態碼,來標示這個請求是否成功,常見的狀態碼有以下幾種:
200 2開頭的都表示這個請求傳送成功,最常見的就是200,就代表這個請求是ok的,伺服器也返回了。
300 3開頭的代表重定向,最常見的是302,把這個請求重定向到別的地方了,
400 400代表客戶端傳送的請求有語法錯誤,
401代表訪問的頁面沒有授權,
403表示沒有許可權訪問這個頁面,
404代表沒有這個頁面
500 5開頭的代表伺服器有異常,
500代表伺服器內部異常,
504代表伺服器端超時,伺服器沒返回結果