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