WebSocket は、サーバー と ブラウザ が 接続をつなぎっぱなしにして、双方向にリアルタイムでデータをやり取り できる仕組みです。
ふつうの HTTP は「ブラウザがお願いして、サーバーが返事をする」都度型で、サーバーの側から自発的に送ることはできません。WebSocketでは一度つながれば、どちらからでも、好きなタイミングでメッセージを送れます。
sequenceDiagram participant B as ブラウザ participant S as サーバー B->>S: 接続を確立(つなぎっぱなし) B->>S: メッセージ送信 S-->>B: サーバーからも随時送信 S-->>B: 新着通知を即プッシュ
この即時性・双方向性から、次のような用途に向いています。
- チャット・メッセージアプリ
- 通知や株価などのリアルタイム更新
- オンライン対戦ゲーム
- 複数人での同時編集
「常につながっている」ことが、Ajax の都度通信との大きな違いです。