実験、テスト目的で公開

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

TOPPANとデータX、中堅企業向けデジタルマーケティング支援で協業
TOPPANとデータXは、中堅企業を対象としたデジタルマーケティング支援領域のデータ基盤構...

Instagramがまとめアカウント排除へフィードアルゴリズムを刷新
Instagramはフィードアルゴリズムを刷新し、コンテンツレコメンドの方針を変更することを...

「三菱UFJ銀行」と「メルカリ」のフィッシング詐欺が増加――BBソフトサービス調査
BBソフトサービスが、詐欺サイト専用セキュリティソフトで検知・収集したデータを基に、...