WebSocket

概要

WebSocketとは、WebサーバWebブラウザの間で双方向通信できるようにする技術仕様。サーバ側から任意のタイミングで送信を開始でき、プッシュ型の情報配信アプリケーションを手軽に実装できる。

Webコンテンツの伝送に用いられるHTTPは通常、クライアントブラウザなど)からの要求(リクエスト)にサーバが応答(レスポンス)を返すという形でしか通信できないが、WebSocketでは一旦接続を確立した後はクライアント側からもサーバ側からも能動的にメッセージを送信することができる。

通信に使用するTCPポートプロトコル通信規約)、メッセージの形式などはHTTPの仕様を踏襲し、HTTPで確立したコネクションをWebSocketに切り替え(アップグレード)ることでWebSocket用の通信路を確保する。「http:」「https:」に代わるURIスキームとして「ws:」および「wss:」が用意されており、「ws://IPアドレスドメイン名:ポート/APIパス」という記法で接続先を指定する。

これまで、Webページの受信完了後に任意のタイミングで通信する方式として「Ajax」(XMLHttpRequest)が、サーバ側からの擬似的なプッシュ通信う方式として「Comet」(ロングポーリング)が用いられてきたが、双方向かつリアルタイムシステム構築にはいずれも不十分であった。

WebSocketを利用することで、独自のプロトコルやネイティブクライアントでしか実現が難しかった効率的な双方向通信環境をWebアプリケーション上でシンプルに実装することができるようになる。

プロトコル仕様は2011年にIETFによってRFC 6455として、API仕様は2012年にW3Cによって「The WebSocket API」として標準化された。API仕様はWHATWGによる「HTML Standard」の一部に移行した後、2021年に改めて「WebSockets Standard」として発行された。現在は主要なWebブラウザ製品の大半が標準でWebSocket仕様に対応している。

(2022.11.18更新)

他の辞典による解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる