网络调用失败情况
一:4xx - 客戶端錯誤
?發生錯誤,客戶端似乎有問題。例如,客戶端請求不存在的頁面,客戶端未提供有效的身份驗證信息。
1: 400 Bad Request:請求出現語法錯誤。
2: 401 Unauthorized:客戶試圖未經授權訪問受密碼保護的頁面。應答中會包含一個WWW-Authenticate頭,瀏覽器據此顯示用戶名字/密碼對話框,然后在填寫合適的Authorization頭后再次發出請求。
3: 403 Forbidden:資源不可用。服務器理解客戶的請求,但拒絕處理它。通常由于服務器上文件或目錄的權限設置導致。
4: 404 Not Found:無法找到指定位置的資源。這也是一個常用的應答。出現這種原因一般是因為用戶輸入了錯誤的網址或者是用戶訪問的網站資源已經被移除了。這種問題的解決辦法是用戶檢查一下網址是否拼寫錯誤,或者是站長做個301重定向將頁面定向到正確的網頁。
5: 405 Method Not Allowed:請求方法(GET、POST、HEAD、Delete、PUT、TRACE等)對指定的資源不適用。(HTTP 1.1新)
二:5xx - 服務器錯誤
1: 500 Internal Server Error:服務器遇到了意料不到的情況,不能完成客戶的請求。
2: 501 Not Implemented:服務器不支持實現請求所需要的功能。例如,客戶發出了一個服務器不支持的PUT請求。
3: 502 Bad Gateway:服務器作為網關或者代理時,為了完成請求訪問下一個服務器,但該服務器返回了非法的應答。
4: 503 Service Unavailable:服務器由于維護或者負載過重未能應答。例如,Servlet可能在數據庫連接池已滿的情況下返回503。服務器返回503時可以提供一個Retry-After頭。
5: 504 Gateway Timeout:由作為代理或網關的服務器使用,表示不能及時地從遠程服務器獲得應答。(HTTP 1.1新)
6: 505 HTTP Version Not Supported:服務器不支持請求中所指明的HTTP版本。(HTTP 1.1新)
?
103 ECONNABORTED Software caused connection 軟件導致連接中斷
RST 出現情況 https://my.oschina.net/costaxu/blog/127394
該錯誤被描述為“connection reset by peer”,即“對方復位連接”,這種情況一般發生在服務進程較客戶進程提前終止。當服務進程終止時會向客戶 TCP 發送 FIN 分節,客戶 TCP 回應 ACK,服務 TCP 將轉入 FIN_WAIT2 狀態。此時如果客戶進程沒有處理該 FIN (如阻塞在其它調用上而沒有關閉 Socket 時),則客戶 TCP 將處于 CLOSE_WAIT 狀態。當客戶進程再次向 FIN_WAIT2 狀態的服務 TCP 發送數據時,則服務 TCP 將立刻響應 RST。一般來說,這種情況還可以會引發另外的應用程序異常,客戶進程在發送完數據后,往往會等待從網絡IO接收數據,很典型的如 read 或 readline 調用,此時由于執行時序的原因,如果該調用發生在 RST 分節收到前執行的話,那么結果是客戶進程會得到一個非預期的 EOF 錯誤。此時一般會輸出“server terminated prematurely”-“服務器過早終止”錯誤。
104 ECONNRESET 104 Connection reset by 連接被重置
?
網絡部分性能優化
http響應總結:常見http響應錯誤總結
10個常見的HTTP狀態碼詳解
總結
- 上一篇: 8个精挑细选的适用App,全是黑科技,用
- 下一篇: 邮箱联想