亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

HTTP 協議狀態碼-4XX

4XX 的狀態碼指的是請求出錯了,而且很有可能是客戶端側的異常??蛻舳藗鹊漠惓:芏啵袝r候情況也比較復雜,下面定義的狀態碼有時候也只能反應一個大概情況,而不一定確切的。

400 Bad Request

作為客戶端異常的首個狀態碼,400 代表的意思很泛(錯誤的請求),一般指的是 4XX 其它狀態碼沒有更合適的情況下就用 400,畢竟客戶端出錯類型很多,無法準確把情況都定義好。

401 Unauthorized

請求沒有權限,通常返回的響應頭部會包含 WWW-Authenticate 的頭,瀏覽器遇到這種響應一般會彈出一個對話框,讓用戶重新提交用戶名和密碼進行認證。
服務端響應

HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic; realm="Secured area"

客戶端重新提交認證

GET / HTTP/1.1
Authorization: Basic j3VsbCBkb25lOnlvdhBmb3Vu89B0aGUgZWFzdGVyIoUnZwo=

402 Payment Required

這是一個預留的狀態,最初想要實現的是,一些商業網站,用戶付費完后可以重復的發送請求,為支付而預留的。

403 Forbidden

訪問被禁止了,401 確切指沒有認證,403 范圍就更多了,可能是登陸了但是沒有這個資源的權限,可能是訪問的源 ip 不在相應的白名單中,等所有不被允許的情況。

404 Not Found

很常見的一種錯誤碼,可能是你的地址構造錯了,也可能是后臺服務器的資源確實沒了。

405 Method Not Allowed

請求方法有 POST GET 這類,客戶端訪問的方法跟服務端能夠提供的不一樣,當請求狀態是 405 的時候,響應信息頭會帶上 Allow 字段,告訴客戶端被允許的請求方法是哪些。

HTTP/1.1 405 Method Not Allowed
Content-Type: text/html
Allow: GET, HEAD, OPTIONS, PUT

406 Not Acceptable

指定的資源已經找到,但它的媒體類型和客戶在Accpet頭中所指定的不兼容,客戶端瀏覽器不接受所請求頁面的媒體類型。

客戶端請求一個 Json 格式內容

GET /foo HTTP/1.1
Accept: application/json
Accept-Language: fr-CA; q=1, fr; q=0.8 

服務端不支持 Json

HTTP/1.1 406 Not Acceptable
Server: curveball/0.4
Content-Type: text/html

407 Proxy Authentication Required

要求進行代理身份驗證,類似于401,表示客戶必須先經過代理服務器的授權。
代理服務器返回需要認證的狀態

HTTP/1.1 407 Proxy Authentication Required
Proxy-Authenticate: Basic; realm="Secured area"

客戶端發起代理認證

GET / HTTP/1.1
Proxy-Authorization: Basic d2VsbCBkb25lOllvdSBmb3VuZCB0aGUgc2Vjb25kIGVhc3RlciBlZ2cK

原站需要認證,代理服務器也需要認證的情況

GET / HTTP/1.1
Proxy-Authorization: Basic ZWFzdGVyIGVnZzpudW1iZXIgdGhyZWUK
Authorization: Bearer c2VuZCBtZSBhIHR3ZWV0IG9yIHNvbWV0aGluZwo

408 Request Timeout

客戶端太慢了,超出了服務端允許的等待時間,服務端會返回 408 并斷開連接。常見的有可能網速太慢了,一個請求發送太長時間還沒發完。

HTTP/1.1 408 Request Timeout
Connection: close
Content-Type: text/plain

Too slow! Try again

409 Conflict

客戶端請求本身沒問題,但是服務端對應的資源跟客戶端要執行的操作有沖突。比如客戶端要修改 版本1的某個資源,但是服務端著個資源只有在 版本2 才存在。

410 Gone

告知客戶端某個資源不存在了,跟 404 很像,只是 410 更加明確該資源永久性改變了,如果客戶端在許可的條件下,應該把所有指向著個地址的連接全部刪除。404 就比較籠統,當前請求的資源不在了,不清楚后面會不會有。

410 響應的目的主要是幫助網站管理員維護網站,通知用戶該資源已經不再可用,并且服務器擁有者希望所有指向這個資源的遠端連接也被刪除。

411 Length Required

服務器拒絕在沒有定義 Content-Length 頭的情況下接受請求。

412 Precondition Failed

請求頭部帶有一些先前條件,滿足了才可以執行,不滿足就返回 412。常見的就是要求某個資源過期了才能修改,不過期的時候執行 PUT 修改就報錯。

413 Request Entity Too Large

服務器拒絕處理當前請求,因為該請求提交的實體數據大小超過了服務器愿意或者能夠處理的范圍。

414 Request-URI Too Long

請求的 URI 長度超過了服務器能夠解釋的長度,這種情況比較可能的是 GET 請求的 URI 攜帶的參數太多太大了。

415 Unsupported Media Type

請求實體的媒體類型不被服務器或者資源支持。例如,客戶端想要返回一個 application/json 內容,服務端只能提供 text/html 類型的資源。

416 Requested Range Not Satisfiable

服務器不能滿足客戶在請求中指定的Range頭。

417 Expectation Failed

在請求頭 Expect 中指定的預期內容無法被服務器滿足。

418 I’m a teapot

IETF 在愚人節的時候發布了一個 笑話的 RFC 提案,內容是:當客戶端給一個茶壺發送泡咖啡的請求時,茶壺就返回一個418錯誤狀態碼,表示“我是一個茶壺”。后來官方想要去除該編號,竟然遭到了阻止,甚至不少瀏覽器都支持這個協議。是技術圈中一個錯誤而美好的典故。

421Misdirected Request

請求被指向到無法生成響應的服務器(比如由于連接重復使用)

422 Unprocessable Entity

請求格式正確,但是由于含有語義錯誤,無法響應。(RFC 4918 WebDAV)

423 Locked

當前資源被鎖定。(RFC 4918 WebDAV)

424 Failed Dependency

由于之前的某個請求發生的錯誤,導致當前請求失敗,例如 PROPPATCH。(RFC 4918 WebDAV)

425 Too Early

服務器不愿意冒風險來處理該請求,原因是處理該請求可能會被“重放”,從而造成潛在的重放攻擊。

426 Upgrade Required

客戶端應當切換到TLS/1.0。

449 Retry With

代表請求應當在執行完適當的操作后進行重試。

該請求因法律原因不可用。