最近的項目,經常會接觸一些http相關的error code,查詢了下相關定義作為熟悉了解。
轉載:
https://www.cnblogs.com/brewin/p/12681673.html
https://www.jianshu.com/p/390890795730
狀態代碼有三位數字組成,第一個數字定義了響應的類別,且有五種可能取值:
1xx:指示信息--表示請求已接收,繼續處理
2xx:成功--表示請求已被成功接收、理解、接受
3xx:重定向--信息不完整需要進一步補充
4xx:客戶端錯誤--請求有語法錯誤或請求無法實現
5xx:服務器端錯誤--服務器未能實現合法的請求
1xx
狀態碼 | 英文名稱 | 狀態碼意義 |
---|---|---|
100 | Continue | 這個臨時響應是用來通知客戶端它的部分請求已經被服務器接收,且仍未被拒絕。客戶端應當繼續發送請求的剩余部分,或者如果請求已經完成,忽略這個響應。 |
101 | Switching Protocols | 換協議。服務器根據客戶端的請求切換協議。只能切換到更高級的協議,例如,切換到HTTP的新版本協議。 |
102 | Processing | 由WebDAV(RFC 2518)擴展的狀態碼,代表處理將被繼續執行。 |
2xx
狀態碼 | 英文名稱 | 狀態碼意義 |
---|---|---|
200 | OK | 請求成功。一般用於GET與POST請求,出現此狀態碼是表示正常狀態。 |
201 | Created | 已創建。成功請求並創建了新的資源 |
202 | Accepted | 已接受。已經接受請求,但未處理完成 |
203 | Non-Authoritative Information | 服務器已成功處理了請求,但返回的實體頭部元信息不是在原始服務器上有效的確定集合,而是來自本地或者第三方的拷貝。當前的信息可能是原始版本的子集或者超集。 |
204 | No Content | 無內容。服務器成功處理,但未返回內容。在未更新網頁的情況下,可確保瀏覽器繼續顯示當前文檔 |
205 | Reset Content | 重置內容。服務器處理成功,用戶終端(例如:瀏覽器)應重置文檔視圖。可通過此返回碼清除瀏覽器的表單域,以便用戶能夠輕松地開始另一次輸入。 |
206 | Partial Content | 部分內容。服務器成功處理了部分GET請求,類似於迅雷這類的 HTTP下載工具是使用此類響應實現斷點續傳或者將一個大文檔分解為多個下載段同時下載。 |
3xx
狀態碼 | 英文名稱 | 狀態碼意義 |
---|---|---|
300 | Multiple Choices | 多種選擇。請求的資源可包括多個位置,相應可返回一個資源特征與地址的列表用於用戶終端(例如:瀏覽器)選擇。 |
301 | Moved Permanently | 永久移動。請求的資源已被永久的移動到新URI,返回信息會包括新的URI,瀏覽器會自動定向到新URI。今后任何新的請求都應使用新的URI代替。 |
302 | Found | 臨時移動。與301類似。但資源只是臨時被移動。客戶端應繼續使用原有 |
303 | See Other | 查看其它地址。對應當前請求的響應可以在另一個 URI 上被找到,而且客戶端應當采用 GET 的方式訪問那個資源。這個方法的存在主要是為了允許由腳本激活的POST請求輸出重定向到一個新的資源。這個新的 URI 不是原始資源的替代引用。 |
304 | Not Modified | 未修改。所請求的資源未修改,服務器返回此狀態碼時,不會返回任何資源。客戶端通常會緩存訪問過的資源,通過提供一個頭信息指出客戶端希望只返回在指定日期之后修改的資源。 |
305 | Use Proxy | 使用代理。所請求的資源必須通過代理訪問。 |
306 | Switch Proxy | 在最新版的規范中,306狀態碼已經不再被使用。 |
307 | Temporary Redirect | 臨時重定向。與302類似。使用GET請求重定向。 |
4xx
狀態碼 | 英文名稱 | 狀態碼意義 |
---|---|---|
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的請求頭信息 |
421 | too many connections | 從當前客戶端所在的IP地址到服務器的連接數超過了服務器許可的最大范圍。 |
422 | Unprocessable Entity | 請求格式正確,但是由於含有語義錯誤,無法響應。 |
423 | Locked | 當前資源被鎖定。 |
424 | Failed Dependency | 由於之前的某個請求發生的錯誤,導致當前請求失敗,例如 PROPPATCH。 |
5xx
狀態碼 | 英文名稱 | 狀態碼意義 |
---|---|---|
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協議的版本,無法完成處理。這暗示着服務器不能或不願使用與客戶端相同的版本。響應中應當包含一個描述了為何版本不被支持以及服務器支持哪些協議的實體。 |
600
600 | Unparseable Response Headers | 源站沒有返回響應頭部,只返回實體內容 |
---|---|---|
常用的HTTP狀態碼:
2XX-請求成功、3XX-重定向、301-永久重定向、302-臨時重定向、303-請求其他資源、4XX-客戶端錯誤、401-未認證、403-被拒絕、404-資源不存在、405-不允許使用該方法、5XX服務器端錯誤、500-服務器內部錯誤、502-錯誤網關、503-服務不可用、504-網關超時。
NSURL Error Code List:
enum : NSInteger {
NSURLErrorUnknown = -1,
NSURLErrorCancelled = -999,
NSURLErrorBadURL = -1000,
NSURLErrorTimedOut = -1001,
NSURLErrorUnsupportedURL = -1002,
NSURLErrorCannotFindHost = -1003,
NSURLErrorCannotConnectToHost = -1004,
NSURLErrorNetworkConnectionLost = -1005,
NSURLErrorDNSLookupFailed = -1006,
NSURLErrorHTTPTooManyRedirects = -1007,
NSURLErrorResourceUnavailable = -1008,
NSURLErrorNotConnectedToInternet = -1009,
NSURLErrorRedirectToNonExistentLocation = -1010,
NSURLErrorBadServerResponse = -1011,
NSURLErrorUserCancelledAuthentication = -1012,
NSURLErrorUserAuthenticationRequired = -1013,
NSURLErrorZeroByteResource = -1014,
NSURLErrorCannotDecodeRawData = -1015,
NSURLErrorCannotDecodeContentData = -1016,
NSURLErrorCannotParseResponse = -1017,
NSURLErrorAppTransportSecurityRequiresSecureConnection = -1022,
NSURLErrorFileDoesNotExist = -1100,
NSURLErrorFileIsDirectory = -1101,
NSURLErrorNoPermissionsToReadFile = -1102,
NSURLErrorDataLengthExceedsMaximum = -1103,
NSURLErrorSecureConnectionFailed = -1200,
NSURLErrorServerCertificateHasBadDate = -1201,
NSURLErrorServerCertificateUntrusted = -1202,
NSURLErrorServerCertificateHasUnknownRoot = -1203,
NSURLErrorServerCertificateNotYetValid = -1204,
NSURLErrorClientCertificateRejected = -1205,
NSURLErrorClientCertificateRequired = -1206,
NSURLErrorCannotLoadFromNetwork = -2000,
NSURLErrorCannotCreateFile = -3000,
NSURLErrorCannotOpenFile = -3001,
NSURLErrorCannotCloseFile = -3002,
NSURLErrorCannotWriteToFile = -3003,
NSURLErrorCannotRemoveFile = -3004,
NSURLErrorCannotMoveFile = -3005,
NSURLErrorDownloadDecodingFailedMidStream = -3006,
NSURLErrorDownloadDecodingFailedToComplete = -3007,
NSURLErrorInternationalRoamingOff = -1018,
NSURLErrorCallIsActive = -1019,
NSURLErrorDataNotAllowed = -1020,
NSURLErrorRequestBodyStreamExhausted = -1021,
NSURLErrorBackgroundSessionRequiresSharedContainer = -995,
NSURLErrorBackgroundSessionInUseByAnotherProcess = -996,
NSURLErrorBackgroundSessionWasDisconnected = -997
};
- -1(未知的錯誤)
- -999(請求被取消)
- -1000(請求的URL錯誤,無法啟動請求)
- -1001(請求超時)
- -1002(不支持的URL Scheme)
- -1003(URL的host名稱無法解析,即DNS有問題)
- -1004(連接host失敗)
- -1005(連接過程中被中斷)
- -1006(同- -1003)
- -1007(重定向次數超過限制)
- -1008(無法獲取所請求的資源)
- -1009(斷網狀態)
- -1010(重定向到一個不存在的位置)
- -1011(服務器返回數據有誤)
- -1012(身份驗證請求被用戶取消)
- -1013(訪問資源需要身份驗證)
- -1014(服務器報告URL數據不為空,卻未返回任何數據)
- -1015(響應數據無法解碼為已知內容編碼)
- -1016(請求數據存在未知內容編碼)
- -1017(響應數據無法解析)
- -1018(漫游時請求數據,但是漫游開關已關閉)
- -1019(EDGE、GPRS等網絡不支持電話和流量同時進行,當正在通話過程中,請求失敗錯誤碼)
- -1020(手機網絡不允許連接)
- -1021(請求的body流被耗盡)
- -1100(請求的文件路徑上文件不存在)
- -1101(請求的文件只是一個目錄,而非文件)
- -1102(缺少權限無法讀取文件)
- -1103(資源數據大小超過最大限制)
// SSL errors
- -1200(安全連接失敗)
- -1201(服務器證書過期)
- -1202(不受信任的根服務器簽名證書)
- -1203(服務器證書沒有任何根服務器簽名)
- -1204(服務器證書還未生效)
- -1205(服務器證書被拒絕)
- -1206(需要客戶端證書來驗證SSL連接)
- -2000(請求只能加載緩存中的數據,無法加載網絡數據)
// Download and file I/O errors
- -3000(下載操作無法創建文件)
- -3001(下載操作無法打開文件)
- -3002(下載操作無法關閉文件)
- -3003(下載操作無法寫文件)
- -3004(下載操作無法刪除文件)
- -3005(下載操作無法移動文件)
- -3006(下載操作在下載過程中,對編碼文件進行解碼時失敗)
- -3007(下載操作在下載完成后,對編碼文件進行解碼時失敗)