long−pullによるデータPush

Cometでポーリングをおこなうlong-pollAjax-poll?)というスタイルもあります。

クライアントからの要求をうけたサーバは、HTTPリクエストを一時停止(suspend)し、タイムアウトか非同期イベントが発生した後に、再開(resume)し、クライアントに応答します。HTTPリクエストを一時停止している間、クライアントはサーバからの応答を待つことになります。

サーバからの応答があった時点で、ポーリングのように再び要求を出すことで、HTTPコネクションをつかみっぱなしにしている状態を仮想化します(※1)。

 


 クライアント⇔サーバ間の通信負荷はデータの更新速度次第ですが、従来のWebアプリケーションよりは軽減されます。

また、サーバの負荷もHTTPコネクションを毎回作成しているので、資源の解放が可能になります。

ただし、クライアントからのHTTPコネクションの張りなおしが発生する時(レスポンス受信時)だけ遅延が発生する可能性があります。

前へ 次へ