WebSocket

WebSocket は、Web ブラウザーまたはクライアント・アプリケーションと Web サーバー・アプリケーションが全二重接続を使用して通信できるようにする標準プロトコルです。 この製品は、WebSocket 1.1 仕様をサポートしています。この仕様は、1.0 仕様の上に構築されており、メッセージ・ハンドラーを指定するための、より堅固な方法を提供します。

HTTP は、2 つのアプリケーション間の、長時間存続するリアルタイムの全二重通信用には設計されていません。 多くの場合、Web サーバー・アプリケーションまたはサーブレットでは、長時間存続するリアルタイム全二重通信でクライアント・ブラウザーまたはアプリケーションと通信する必要があります。 2 つのアプリケーションでは、データを双方向に自由に読み書きする必要があります。 例として、変動する為替レートを株式トレーダーの Web ブラウザーに常時表示するアプリケーションがあります。 このタイプの通信のための HTTP 技術ソリューションは、現在のところ複雑で非効率的です。 ブラウザーとサーバー間の常時両方向通信用の HTTP ソリューションはたいてい、ポーリング、または片方向のトラフィックのみを処理する 2 つのオープン HTTP 接続のいずれか、あるいはその両方で構成されます。

WebSocket は、標準的な HTTP 要求応答シーケンスを使用して接続を確立します。 接続が確立されると、WebSocket API は、確立された接続を介して非同期全二重方式でデータを読み書きするための読み取りおよび書き込みインターフェースを提供します。 また、WebSocket は、一方から接続を非同期的に閉じるためのインターフェースも提供します。

WebSocket は標準的な HTTP 要求応答シーケンスを使用して接続を確立するため、HTTP 接続と同様に、接続開始では、ファイアウォールおよびプロキシーを介して接続されます。 WebSocket では、同じ接続での同時の読み取りと書き込みなど、全二重通信が必要です。 製品 Web サーバー・プラグインでは全二重通信がサポートされますが、このサポートを有効にするには、他のファイアウォールおよびプロキシーの変更が必要になることがあります。 WebSocket は、セキュア接続およびデータのセキュアな送信のために SSL を使用することも可能です。 このプロトコルでは、HTTP プロトコルが SSL を使用するのと同様に SSL を使用します。

WebSphere® Application Server traditional WebSocket フィーチャーは、以下の仕様を実装します。