WebSocket
うぇぶそけっと
WebSocket
一言でいうと
ブラウザとサーバーが双方向にデータを送り合える、常時接続の通信プロトコルのこと。
詳しい意味
WebSocket は、ブラウザとサーバー間で双方向にリアルタイム通信できる通信プロトコルです。HTTP は「リクエストを送ってレスポンスを受ける」一方向の片方向通信ですが、WebSocket は最初に1度だけ HTTP でハンドシェイクし、その後は接続を張りっぱなしにして双方向にメッセージを送り合えます。チャット・通知・カーソル共有・ライブ更新ダッシュボード・オンラインゲームなど、リアルタイム性が要るアプリで使われます。Slack、Discord、Figma の協調編集、Google Docs の同時編集などで採用。スケールに工夫が要る(接続を多数のサーバーで分散管理)ため、Pusher / Ably / Supabase Realtime のようなマネージドサービスも人気です。
何に使うか
リアルタイムチャット。複数人での同時編集。ダッシュボードのライブ更新。リアルタイム通知。
どんな時に出るか
「WebSocketで実装」「WS接続が切れる」「リアルタイムは WebSocket」といった場面で登場します。
具体例
- チャット機能の実装に WebSocket を採用し、リアルタイムでメッセージを配信している。
- WebSocket のスケール課題を Ably にオフロードして、自前のWS基盤を持たないようにした。
別名・略称
websocket(うぇぶそけっと)WebSocket(うぇぶそけっと)WS(だぶりゅーえす)
関連語
初心者向けメモ
電話の「通話中」状態に近いイメージです。普通のWeb通信(HTTP)が「メールで質問 → 返信を待つ」なら、WebSocketは「電話が繋がりっぱなしで、いつでも互いに話せる」状態。リアルタイムなやりとりには電話の方が向く、というのと同じ理由で使われます。