実験、テスト目的で公開

Web Sockets対応ApacheモジュールのOSS実装が登場

2009/09/08

 WebサーバとWebブラウザ間で双方向通信を実現するプロトコル「Web Sockets API」をApacheのモジュールとして実装した「pywebsocket」が登場した。グーグルの藤島勇造氏らが9月8日、HTML5関連のメーリングリストでアナウンスした。Apache 2.0ライセンスでオープンソースとして公開している。Web Socketsは、まだ規格案が頻繁に変更されている段階だが、HTML 5関連規格として注目されているプロトコルだ。WebKitでの実装も始まっている。

 Web Socketsは、これまでCometやBOSHと呼ばれる技術で実装されてきたWebサーバとWebブラウザの双方向通信と同様のことを実現できるプロトコル。HTTPではクライアントのリクエストに対してサーバがレスポンスを返すという非対称な通信を行うが、Web Socketsではどちらからでもメッセージを送れるようになる。例えば、サーバ(もしくはサーバを介して仮想的に接続しているほかのサーバやクライアント)上で、情報に更新があった場合に、それをリアルタイムでWebブラウザに通知することができる。リアルタイム性を上げられると同時に、頻繁にWebブラウザからポーリングを行う通信モデルに比べて、サーバ、クライアントともにリソースの無駄遣いが減る。また、Cometに比べると実装がシンプルになり、利用が広がると期待できる。

 現在のところ、HTTP1.1で規定されるHTTPヘッダの「Upgrade」を使って、ハンドシェーク時にHTTPコネクションをWeb Socketsに移行して利用する形になりそうだ。つまり、Webサーバ、Webブラウザの双方のサポートが必要となる。まだWeb Socketsを実験する環境はほとんど整っておらず、この意味でpywebsocketは注目だ。

 Web Socketsを利用すれば、JavaScriptを使って以下のようにソケットを使った双方向通信が簡単に実現できる。

var s = new WebSocket("http://hoge.jp/foo/");
s.onopen     = function(e) {...}
s.onmessage  = function(e) {...}
s.onclose    = function(e) {...}
s.send("Hello Server!");

関連リンク

(@IT 西村賢)

情報をお寄せください:

HTML5 + UX フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

キャリアアップ

- PR -

注目のテーマ

ソリューションFLASH

「ITmedia マーケティング」新着記事

プログラマティック広告はどう変化? 米国レポートから見える「今後の動向」
CTVとプライベートマーケットプレイスへの広告支出のシフトにより、米広告業界ではプログ...

「顧客体験」の重要性高まる 2024年「CX」関連の人気記事TOP10を紹介
今回の記事では、2024年「ITmedia ビジネスオンライン CX Experts」のアクセスランキング...

SNSの情報がアルゴリズムで最適化されていることを「知らない」が6割超 年代別では?
ロイヤリティ マーケティングは、10〜60代のSNS利用者を対象に、SNS情報の信用度に関する...