読者です 読者をやめる 読者になる 読者になる

HTTPベースでサーバからのpushを実現する技術:Comet

IT

最近このへんのトピックを追いかけていなかったのですが、特殊なクライアントを利用せずブラウザのみでサーバからのpush(リアルタイム通知)を行う技術(というかテクニック)が考案されたそうです。
LingrはCometを基盤技術として実現されたチャットサービスで、Webブラウザのみでリアルタイムチャットを実現していることが特徴だそうですが、実現にあたってはいろいろと考慮すべき点がありますね。
CNET Japan Blog - 江島健太郎 / Kenn's Clairvoyance:Lingr and Comet - 技術解説編
確か、curlというリッチクライアント製品でもサーバpushを実現するためにHTTPコネクションを張りっぱなしにするというアーキテクチャを採用していたと記憶していますが、やはり通常のWebサーバやAPサーバではそのような利用形態を想定していない(HTTPはサーバからの返事が終わり次第、直ちにコネクションを切るという前提)ので、著しくリソース効率が悪くなってしまいます。
なので、Cometのような使い方に対応するためには、サーバ側でなんらかのブレイクスルーが必要なわけです。
個人的に面白いと感じたのは、AJAXの普及に伴ってこのようなサーバpushのニーズが顕在化して、かつHTTPの枠組みの中でそれを実現する方法が編み出されてきたことです。AJAXは本質的には既存の技術要素を見直して再構築するムーブメントであるわけですが、Cometも同じようなスキームで、かつAJAXの延長線上に出現してきたことは、テクノロジに対する我々の「アタマ」の固さ(教条主義的な枠)がいかに可能性を縛っているかということの顕れではないかと思います。