我的移动应用程序需要发送Ajax请求,并知道如果服务器closures或服务器是活的,但是给出错误之间的区别。
我明白,如果有一些服务器错误,服务器将返回50X代码的响应。
但是,如果服务器closures,会发生什么情况。 客户会得到什么错误?
我search,但它使我感到困惑 – 人们build议您的服务器应设置为503代码,如果它的维护。 但我不能理解的事实 – 服务器已closures,它甚至可以发送503回应?
如果实际的Web服务器closures,通常是前端负载均衡器发送503服务不可用错误。 如果您没有负载平衡器,并且其后面的服务器closures,或者负载平衡器closures,则客户端将收到连接超时 。 如果服务器启动但Apache未启动,则客户端将被拒绝连接 。
在服务器停机的情况下,AJAX调用本身将返回一个错误。
response = url.open("http://..."); if (response == NULL) { /* handle Connection timeout / Conn refused */ }
在503情况下,你的AJAX调用实际上执行一个HTTP请求,除了错误代码说有问题。 就像是:
response = url.open("http://..."); if (response.code == 503) { /* handle service unavailable */ }
希望帮助:)