在使用iOS中的URL加载系统时,虽然手机与服务器之间的连接可能会出现各种各样的问题,不过大致可以分为三种错误类别:①OS错误;②HTTP错误;③应用错误
OS错误
①没有网络—如果设备没有数据网络连接,那么连接尝试很快就会被拒绝或者失败。这些错误可以通过Apple提供的Reachability框架检测;
②无法路由到目标主机—设备可能有网络连接,不过目标可能位于隔离的网络中或是离线状态;
③没有应用监听目标端口—在请求到达目标主机后,数据包会被发送到请求指定的端口号。如果没有服务器监听这个端口或者是太多连接请求排队,那么有可能拒绝;
④无法解析目标主机名—这些错误是由配置错误或者是尝试访问没有外部名字解析且处于隔离网络中的主机造成的。
(可以在尝试发起网络连接前检查一下网络状态,这样可以避免很多OS错误)
HTTP错误
HTTP错误是由HTTP请求、HTTP服务器或应用服务器的问题造成的。HTTP错误通过HTTP响应的状态码发送给请求客户端。
一共有5类HTTP错误:
- 信息性质的100级别—来自于HTTP服务器的信息,表示请求的处理将会继续,不过带有警告;
- 成功的200级别—服务器处理了请求;
- 重定向需要的300级别—表示客户端必须执行某个动作才能继续请求,因为所需的资源已经移动了;
- 客户端错误400级别—表示客户端发出了服务器无法正确处理的错误数据;
- 下游错误500级别—表示HTTP服务器与下游应用服务器之间出现了错误
应用错误
应用错误是由运行在服务层智商的业务逻辑和应用造成的,比如,如果用户尝试从账户中转账的金额超过了账户的可用余额,那么手机银行就应该报告应用错误
时间: 2024-10-11 12:08:22