WebSocketとは

概要

WebSocketは、ウェブブラウザなどのクライアントとサーバーの間で、
常に接続を維持しながら双方向通信を行うための仕組みです。
通常のWeb通信(HTTP)はリクエストとレスポンスで一回ごとのやりとりですが、
WebSocketは一度接続を確立すれば、クライアントとサーバーのどちらからでも自由にデータを送受信できます。

リアルタイム性が求められるチャット、ゲーム、株価表示、通知機能などに使われます。

正式名称

WebSocket(ウェブソケット)

略称

WS(ダブリューエス)
※技術的には「wss://(暗号化あり)」と「ws://(暗号化なし)」というURLスキームでも使われます。

特徴

  • 常時接続(Persistent Connection):一度接続すれば切断されるまで通信を継続
  • 双方向通信(Full Duplex):クライアント・サーバーどちらからもデータ送信が可能
  • リアルタイム性が高い:即時性のあるサービスに向いている
  • 通信の軽量化:HTTPよりも通信のオーバーヘッドが少ない
  • TCPベース:信頼性のあるデータ転送が可能
  • HTTPとの違い:最初はHTTPで接続を開始し、途中でWebSocketに切り替える(ハンドシェイク)

具体例

  • チャットアプリ:メッセージを送るとリアルタイムで相手に届く
  • オンラインゲーム:プレイヤーの動きなどを即座にサーバーに反映
  • 株価表示サイト:変動がリアルタイムで反映される
  • 通知システム:新着情報を即時に通知する(SNSやメール通知など)
  • 共同編集ツール:複数人でリアルタイム編集できるドキュメントやホワイトボード

関連用語

用語解説
HTTPWebの基本的な通信方法。1回1回のリクエスト・レスポンスで構成される。
TCPWebSocketが使う通信プロトコル。データの信頼性が高い。
ハンドシェイクWebSocket接続の初期に行われる、HTTPからの切り替え処理。
リアルタイム通信遅延がほとんどなく、即座にデータをやりとりする通信方式。
SSE(Server-Sent Events)サーバーからクライアントへの一方向通信技術。WebSocketは双方向。
wss://暗号化されたWebSocket通信(HTTPSに相当)。
ws://暗号化されていないWebSocket通信(HTTPに相当)。
タイトルとURLをコピーしました