非同期通信モデル

非同期リクエストとレスポンスのシーケンスには、主に 3 つの種類があります: プッシュ、ポールロング ポールWeb ベース アプリケーションのテスト スクリプトを構築する際に、どの種類の非同期通信が使用されているかを理解することは重要です。

ポーリング通信モデル

この非同期通信モデルを使用すると、クライアントは一定間隔 (8 秒ごとなど) にアプリケーション サーバーに HTTP リクエストを送信します。サーバーは、ブラウザに更新を返すことによって、断続的頻度で更新されるアプリケーションを保持します。

ロング ポーリング通信モデル

このモデルを使用すると、ブラウザはアプリケーション サーバーに HTTP リクエストを送信します。更新がある場合はつねに、サーバーは HTTP レスポンスを返します。クライアントは、サーバー上の既知のアドレスに HTTP リクエストを生成します。サーバー レスポンスの受信の直後に、ブラウザは他の HTTP リクエストを送信します。この即座にブラウザからレスポンスが発生するところが、標準的なポーリング通信モデルとこのモデルの異なるところです。即時のレスポンスは、サーバー レスポンスに対してサーバー側でより長い時間待機することになります。

プッシュ通信モデル

ポーリング および ロング ポーリング モデルと同様に、プッシュ モデルを使用すると、ブラウザが HTTP リクエストをアプリケーション サーバーに送信することによって、通信が開始されます。しかし、サーバーによって返されるレスポンスは、常にオープンな状態になります。サーバーとの通信を保持しているブラウザで結果が開きます。その後、サーバーは、更新されたときはいつでもオープンな接続上にサブメッセージを送信します。このモデルを使用すると、ブラウザとサーバー間の通信は永遠にオープンなままになります。

サーバーはいつでも通信をクローズすることができ、新しい更新が無い場合でも ping メッセージを送信することによってオープンのままにしておくことができます (タイムアウトにより通信がクローズすることを避ける)。