是否可以发送请求但响应失败?

时间:2017-02-21 03:49:51

标签: http angular network-programming

我是编程新手,最近编写了一个业余爱好角度2应用程序,在应用程序中发出网络请求,请求是带有http对象的AJAX。

在编写应用程序期间,我想知道..客户端应用程序发出的请求是否可能被服务器接受并处理,但服务器由于连接错误而未能对客户端做出响应?

如果可能,我该如何避免处理多个请求?

2 个答案:

答案 0 :(得分:1)

您可以在回复时检查连接。

请同时检查以下几点

  1. 检查服务器的返回类型。
  2. 您的角度程序是否期望从服务器返回相同类型的响应?

答案 1 :(得分:1)

OSI模型中,HTTP为 application level layer ,通过 transport layer即TCP 传输到对等方以发送OR接收消息。

传输层具有以下属性:可靠/不可靠,连接/无连接,流量控制,拥塞等。为了支持这些功能,使用TCP或UDP协议。

由于我们正在传输HTTP PDU,即使PDU被丢弃(由于各种原因),它也将作为TCP支持滑动窗口重新传输。只有在从对等方收到FIN(最终)之后,连接才会关闭。在此之前,您可以认为所有PDU都将被忠实地运输。 TCP也有超时和重试,它们也是可配置的。

但是如果服务器已经死或没有响应,那么在发出HTTP请求时会收到相应的错误消息,因为仅仅TCP连接本身就会失败。以下是明确定义的error messages。启用日志记录或控制台跟踪以注意这些错误。