CometとAjax

最近Cometという単語をちらほら聞くようになって来た。最近ではCNET Japan Blog - 江島健太郎 / Kenn's Clairvoyance:Lingr and Comet - 技術解説編にあるLingrがCometを使ったサイトとして注目されてるし、以前ちらっと取り上げたmeebo.comもそうらしい。

Ajaxが「データをサーバからクライアントに非同期に(というか、直感的に言えば背後で)送る」技術なのに対して、Cometは「データが送られるまでサーバとクライアントのコネクションを途切れさせない」技術だ。Cometの分かりやすい解説は江島健太郎さんの記事にあるが、大まかな流れはこんな感じ。

1. クライアントがサーバに接続してデータを受け取る
2. データを受け取ったクライアントがサーバに再接続してそのままコネクションを維持
3. サーバで送信したいデータが発生するとクライアントに送信
4. 2に戻る

Cometのメリットを出すにはコネクションとサーバのプロセスを切り離す必要があるので、技術的になかなか難しいところがありそうだが、ここを解決できればチャット以外でも面白いことがいろいろできそうだ。今はWebブラウザ上の技術だけど、今後はどう発展していくんだろうか。。