実験、テスト目的で公開

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 マーケティング」新着記事

「サイト内検索」&「ライブチャット」売れ筋TOP5(2025年5月)
今週は、サイト内検索ツールとライブチャットの国内売れ筋TOP5をそれぞれ紹介します。

「ECプラットフォーム」売れ筋TOP10(2025年5月)
今週は、ECプラットフォーム製品(ECサイト構築ツール)の国内売れ筋TOP10を紹介します。

「パーソナライゼーション」&「A/Bテスト」ツール売れ筋TOP5(2025年5月)
今週は、パーソナライゼーション製品と「A/Bテスト」ツールの国内売れ筋各TOP5を紹介し...