響應碼分類
4xx:客戶端出現錯誤
- 400 Bad Request :服務器認為客戶端出現了錯誤,但不能明確以下哪種錯誤時使用此錯誤碼。例如HTTP請求格式錯誤
- 401 Unauthorized:用戶認證信息缺失或者不正確,導致服務器無法處理請求
- 407 Proxy Authentication Required:對需要經由代理的請求,認證信息未通過代理服務器的驗證
- 403 Forbidden:服務器理解請求的含義,但沒有權限執行此請求
- 404 Not Found:服務器沒有找到對應的資源
- 410 Gone:服務器沒有找到對應的資源,且明確知道該位置永久性找不到該資源
- 405 Method Not Allowed:服務器不支持請求行中的method方法
- 406 Not Acceptable:對客戶端指定的資源表述不存在(例如對語言或者編碼有要求),服務器返回表述列表供客戶端選擇
- 408 Request Timeout:服務器接收請求超時
- 409 Conflict:資源沖突,例如上傳文件時目標位置已經存在更新的資源
- 411 Length Required:如果請求含有包體且未攜帶 Content-Length 頭部,且不屬於 chunk (分塊傳輸編碼)類請求時,返回411
- 412 Precondition Failed:復用緩存時傳遞的 If-Unmodified-Since 或 If-None-Match 頭部不被滿足
- 413 Payload Too Large / Request Entity Too Large:請求的包體超出服務器能處理的最大長度
- 414 URI Too Long :請求的 URI 超出服務器能接受的最大長度
- 415 Unsupported Media Type:上傳的文件類型不被服務器支持
- 416 Range Not Satisfiable:無法提供 Range 請求中指定的那段包體。例如文件只有100m,但是我們請求的1G-2G的文件內容。
- 417 Expection Failed:對於 Expect 請求頭部期待的情況無法滿足時的響應碼
- 426 Upgrade Required:服務器拒絕基於當前 HTTP 協議提供服務,通過 Upgrade 頭部告知客戶端必須升級協議才能繼續處理
- 428 Precondition Required:用戶請求中缺失了條件頭部,例如 If-Match
- 429 Too Many Request:客戶端發起的請求速率過快
- 431 Request Header Fields Too Large:請求的 HEADER 頭部大小超過限制
- 451 Unavailable For Legal Reasons:RFC7725,由於法律原因資源不可訪問
5xx:服務器端出現錯誤
- 500 Internal Server Error:服務器內部出現錯誤,且不屬於以下類型
- 501 Not Implemented:服務器不支持實現請求所需要的功能
- 502 Bad Gateway:代理服務器無法獲取合法響應
- 503 Service Unavailable:服務器資源尚未准備好處理當前請求,例如服務器端做請求的限速,對用戶IP做並發的連接的限制,當達到上限的時候都有可能發生
- 504 Gateway Timeout:代理服務器無法及時的從上游獲得響應。(可能時代理服務器的超時時間設置的過小)
- 505 HTTP Version Not Supported:請求的HTTP協議版本不支持
- 507 Insufficient Storage:服務器沒有足夠的空間處理請求(但是已經暴漏服務器的內部問題,一般不會被我們看見)
- 508 Loop Detected:訪問資源時檢測到循環(循環已經到了最大的次數)
- 511 Network Authentication Required:代理服務器發現客戶端需要進行身份驗證才能獲得網絡訪問權限,如機場,網吧常見到這樣的場景
所有響應碼遵循的響應規則:當客戶端接收到了一個它不認識的響應碼,不知道如何處理時,將按照他們所在系列的100,200,300,400,500的處理邏輯。