「Comet」の版間の差分
削除された内容 追加された内容
m キャピタライズ修正 |
|||
3行目:
'''Comet'''(コメット)とは、[[ウェブアプリケーション|Web アプリケーション]]を構築する際に利用される技術で、この技術を使うと、[[サーバ]]で発生した[[イベント (プログラミング)|イベント]]を[[クライアント]]からの要請なしに[[クライアント]]に送信することができる。
Comet はこのような通信を実現するための複数の手法をまとめた概念である。これらの手法はブラウザにプラグインを追加することなく、([[
== なぜ必要なのか ==
従来の方法では、ウェブページはクライアントからリクエストがあったときのみクライアントに配信されていた。クライアントがリクエストするたび、ブラウザはサーバへの [[Hypertext Transfer Protocol|HTTP]] コネクションを生成し、ウェブサーバはクライアントにデータを返し、そのコネクションは閉じられる。この方法の欠点は、ユーザが明示的にページのリフレッシュを行うか、またはユーザが新しいページに移動する場合にしか表示されるページが更新されないことである。ページをすべて転送するのには長い時間を要するので、ページのリフレッシュは多大な遅延を生みだす。
この問題を解決するために、ブラウザに変更があった部分だけをリクエスト・更新させる技術である [[
しかし
サーバ上でイベントが起こったかどうかを周期的に確認させる(いわゆるポールループさせる)ようにアプリケーションを設計するのはひとつの解決策である。しかしこの方法は、アプリケーションは結局サーバ上のイベントが完了したかどうかの問い合わせに多くの時間を使ってしまうため、あまりエレガントとはいえない。また、ネットワークの帯域も多く消費されてしまう。
|