4.11. Making Multiple Requests (複数リクエストの実行)
4.11. Making Multiple Requests (複数リクエストの実行)
多くの場合, クライアントはタスクを完了するために複数の HTTP リクエストを行う必要があります。このような動作を指定するとき, アプリケーションは次のことを考慮する必要があります:
-
リクエストの順序: リクエストを特定の順序で行う必要がある場合, これを明確に指定すべきです。
-
エラー処理: シーケンス内の 1 つのリクエストが失敗した場合はどうなりますか?
-
原子性: 一連のリクエストがアトミック単位として扱われるべき場合, これをどのように保証しますか?
-
パフォーマンス: 多くの順次リクエストを行うことは遅くなる可能性があります。アプリケーションはラウンドトリップを最小限に抑える方法を検討すべきです。
アプリケーションは次のことをすべきです (SHOULD):
-
厳密な順序付けを要求するのではなく, 可能な場合はリクエストを並行して行うことを許可する。
-
リクエスト間の依存関係を明確に指定する。
-
必要なリクエストの数を減らすために, 適切な場合はバッチ操作または複合操作の使用を検討する。
-
HTTP/2 [HTTP/2] および HTTP/3 [HTTP/3] により, 単一の接続で複数のリクエストを同時に実行できることを認識する。これにより, 複数のリクエストを行う必要があるアプリケーションのパフォーマンスが大幅に向上する可能性があります。
アプリケーションは, 状態または他のメカニズムの使用を通じてこれを明示的に調整しない限り, 複数のリクエストが同じサーバーインスタンスによって処理されるか, 特定の順序で処理されると想定すべきではありません (SHOULD NOT)。