HTTP:什么是更好的:大超时或多次重试?

时间:2012-11-29 15:17:29

标签: http timeout

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

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

或重试/超时的任何其他组合。我不知道HTTP / TCP连接是否实际上可以停止,因此重试将是一件好事。我没有传输大量数据(<1 kB),并且想知道通常会采用什么方法来加快响应时间?

1 个答案:

答案 0 :(得分:0)

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

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

相反,在森林中,吞吐量一直很低,他们会学会忽略通知并耐心等待。