実験、テスト目的で公開

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

イーロン・マスク氏がユーザーに問いかけた「Vine復活」は良いアイデアか?
イーロン・マスク氏は自身のXアカウントで、ショート動画サービス「Vine」を復活させるべ...

ドコモとサイバーエージェントの共同出資会社がCookie非依存のターゲティング広告配信手法を開発
Prism Partnerは、NTTドコモが提供するファーストパーティデータの活用により、ドコモオ...

「インクルーシブマーケティング」実践のポイントは? ネオマーケティングが支援サービスを提供
ネオマーケティングは、インクルーシブマーケティングの実践に向けたサービスを開始した...