4

私はモバイル デバイスから HTTP GET 要求を行っています (そのため、ネットワーク接続は通常信頼性が高くありません)。

  • 60 秒のタイムアウトで 1 つのリクエストを試すか、
  • それぞれ 20 秒のタイムアウトで 3 つのリクエストを試す

または、再試行/タイムアウトのその他の組み合わせ。HTTP/TCP 接続が実際に停止する可能性があるかどうかはわからないので、再試行するのは良いことです。大量のデータ (< 1 kB) を転送するわけではありませんが、通常、応答時間を短縮するにはどのようなアプローチが必要でしょうか?

4

1 に答える 1

0

べき等操作である限り、理論上はより頻繁に再試行しても問題ありません。(正直に言うと、GET には副作用がまったくないはずです。) それでもサーバーに不要な負荷がかかる可能性があり、リクエストの複数回の再送信に対する応答の遅延により、ダウンリンクが飽和状態になり、状況が悪化する可能性があります。

インタラクティブなアプリケーションでは、ユーザーがトリガーできる「再試行」による「通常よりも時間がかかっています」という正直な通知が最適です。ユーザーは、短いネットワークの原因となっていたトンネルまたは建物を出た後に、「再試行」ボタンを押すオプションがあります。停電。

逆に、スループットが常に低い森の中で、彼らは通知を無視して辛抱強く待つことを学びます。

于 2012-11-30T11:31:44.610 に答える