5.9. WebSocket プロトコル
WebSocket プロトコルは標準の HTTP 接続をアップグレードして、これを永続化し、その接続を使用してアプリケーションのクライアントとサーバーの間に特別にフォーマットされたメッセージを渡します。プロトコルは、TCP を介してクライアントとサーバー間で最初の接続を確立するためにハンドシェイクなどの HTTP に依存しますが、クライアントとサーバー間の通信に特別なメッセージ形式が使用されます。
標準の HTTP 接続、WebSocket 接続とは異なり、以下を実行します。
- 両方の方向でメッセージを送信するために使用できます。
- 最初の要求が完了した後も開いたままになります。
- メッセージで特別なフレーミングヘッダーを使用します。これにより、HTTP 要求内で HTTP 形式ではないメッセージペイロード (制御データなど) を送信できます。
その結果、WebSockets プロトコルは、必要なネットワークリソースを減らし、ネットワークタイムアウトが原因でサービスが失敗するリスクを減らしながら、標準の HTTP 接続の可能性を拡張します (HTTP Long Polling などのリアルタイムメッセージング機能を提供する代替方法と比較して)。
Websocket 接続は、デフォルトで、さまざまなオペレーティングシステムやハードウェアアーキテクチャー全体で現在利用可能なほとんどの Web ブラウザーでサポートされます。これにより、WebSocket は Web ブラウザーのみを使用するために接続できるクロスプラットフォームの Web ベースのアプリケーションを作成するのに適しています。