実験、テスト目的で公開

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

「運用型クリエイティブ」とは何か?
マーケティング施策としてのクリエイティブ改善に取り組むべき理由とは何か。クリエイテ...

「コロナ禍が収束しても現在の生活を維持したい」 前年比5.2ポイント増加し61.5%に――博報堂調査
コロナ禍も約2年が経過し、マスク生活やテレワークなど新しい暮らしや仕事のスタイルがす...

Netflixはこれからどう稼ぐつもり?
「ITmedia マーケティング」では、気になるマーケティングトレンドをeBookにまとめて不定...