4

我正在从移动设备执行 HTTP GET 请求(因此网络连接通常不可靠)并且想知道什么是更好的方法:

  • 尝试 1 个请求,超时 60 秒或
  • 尝试 3 个请求,每个请求超时 20 秒

或任何其他重试/超时组合。我不知道 HTTP/TCP 连接是否真的可以停止,所以重试会是一件好事。我不会传输大量数据 (< 1 kB),并且想知道通常哪种方法可以加快响应时间?

4

1 回答 1

0

只要是幂等操作,理论上多重试应该没问题。(老实说,GET 根本不应该有任何副作用。)它可能仍然会给服务器带来不必要的负载,并且对请求的多次重传的延迟响应可能会使下行链路饱和并使情况变得更糟。

在交互式应用程序中,我发现一个诚实的“它花费比正常时间更长”的通知,最好是用户可触发的“重试”:用户可以选择在退出导致网络短路的隧道或建筑物后按下“重试”按钮停电。

相反,在吞吐量持续较低的树林中,他们将学会忽略通知并耐心等待。

于 2012-11-30T11:31:44.610 回答