ロングポーリング 【long polling】
概要
ロングポーリング(long polling)とは、Webシステムなどでサーバからクライアントへの適時のデータ送信(プッシュ)を擬似的に実現する手法の一つで、クライアントからの要求を保留状態に置いておき、データを送信すべきタイミングで応答を返す方式。Webのデータ伝送に用いられるHTTP(Hypertext Transfer Protocol)はクライアントからサーバに要求(リクエスト)を送り、サーバがこれに応答(レスポンス)するという動作原理であるため、サーバ側から能動的にデータを送信することができない。
ロングポーリングでは、クライアントは用が無くても空の要求を送り、サーバはこれを受け付けるが応答はせず、保留のまま接続を維持しておく。サーバ側から知らせるべきデータが発生したタイミングで、保留を解除して応答する。応答を受信したクライアントはすぐにまた空の要求を送信して次の応答を待つ。
ロングポーリングはHTTPのみで擬似的にプッシュ送信を実現する技術であり、プッシュ送信そのものを可能にするものではない。多数のクライアントが接続する場合、サーバ側には常に大量の応答待ちのコネクションが滞留し続けるため、それでも動作に支障をきたさないような実装が行われている必要がある。
(2021.12.15更新)