データを POST するとき (AJAX を使用するか、モバイル デバイスから、または何を持っているか) は、多くの場合、「再試行」状態が発生するため、タイムアウトのようなものが発生すると、データが再度 POST されます。
これは実際に良い考えですか?
POST データは冪等であることを意図しているため、
- サーバーに POST を送信し、
- サーバーがリクエストを受け取り、
- 実行に時間がかかり、
- その後、データを送り返します
タイムアウトに達した場合は、次の再試行で冪等であることを意図したデータが送信されます。
問題は、再試行 (クライアント側から呼び出す場合) を POST データに対して設定する必要があるか、またはサーバーが常に POST データを適切に処理するように設計する必要があるか (トークンなどを使用)、または何か不足しているのでしょうか?
質問に従って更新します。これはモバイル アプリ用です。たまたま、テスト中に、タイムアウトが短すぎるとアプリが再試行することがわかりました。その間、バックエンド サーバーは実際には最初の要求を受け入れて処理し、新しい (それ以外は同一の) 再要求が入ったときに動揺しました。