long−pullによるデータPush
Cometでポーリングをおこなうlong-poll(Ajax-poll?)というスタイルもあります。
クライアントからの要求をうけたサーバは、HTTPリクエストを一時停止(suspend)し、タイムアウトか非同期イベントが発生した後に、再開(resume)し、クライアントに応答します。HTTPリクエストを一時停止している間、クライアントはサーバからの応答を待つことになります。
サーバからの応答があった時点で、ポーリングのように再び要求を出すことで、HTTPコネクションをつかみっぱなしにしている状態を仮想化します(※1)。
クライアント⇔サーバ間の通信負荷はデータの更新速度次第ですが、従来のWebアプリケーションよりは軽減されます。
また、サーバの負荷もHTTPコネクションを毎回作成しているので、資源の解放が可能になります。
ただし、クライアントからのHTTPコネクションの張りなおしが発生する時(レスポンス受信時)だけ遅延が発生する可能性があります。
前へ 次へ