AI活用の教科書
ネットワーク開発ふつう3分で読了

WebSocket

WebSocketうぇぶそけっと

ひとことで言うと

ブラウザとサーバーをつなぎっぱなしにして、双方向にリアルタイムでやり取りする仕組みです。

📖 もうちょい詳しく

何が新しいの?

WebSocketは、ブラウザとサーバーを「つなぎっぱなし」にして、リアルタイムにやり取りするための仕組みです。
それまでWebでよく使われていたHTTPは、ブラウザがお願いするたびに毎回つなぎ直す形でした。チャットや通知のように「相手の動きをすぐ受け取りたい」用途には向きません。
そこで生まれたのがWebSocketです。一度つながると、その通り道を開いたまま、必要なときにいつでもデータを流せます。

どうやって動いてるの?

最初はHTTPで「これからWebSocketに切り替えてください」とお願いします。これを「ハンドシェイク(あいさつ)」と呼びます。
サーバーがOKを返すと、その接続はそのまま専用の通り道に切り替わります。あとはブラウザからもサーバーからも、好きなタイミングでメッセージを送り合えます。
ふつうのHTTPが「お願いするたびに窓口に並び直す」とすれば、WebSocketは「窓口に直通電話を引いておく」イメージに近いです。

何ができるの?

リアルタイム性が大事なサービスの土台になります。
チャットアプリ、通知のポップアップ、複数人で同時に編集する画面、株価やスポーツ速報の自動更新などです。
ページを再読み込みしなくても、新しい情報が届いた瞬間に画面へ反映できるのが大きな強みです。

🌱 身近なたとえ

電話で例えると、WebSocketは「つなぎっぱなしの通話」のような存在です。
ふつうのHTTPは、用があるたびに電話をかけ直して、用件を伝えたら毎回切る形に近いです。
WebSocketは、最初に一度つながったら回線を開いたままにしておきます。どちらからでも、思いついたときにそのまま話しかけられます。

✅ まず覚えるポイント

  • ブラウザとサーバーを「つなぎっぱなし」にする仕組み
  • 一度つながれば、どちらからでもデータを送れる(双方向)
  • 最初はHTTPであいさつ(ハンドシェイク)してから切り替わる
  • チャット・通知・同時編集などリアルタイム用途に向く
  • 再読み込みなしで、新しい情報をすぐ画面に反映できる

🧭 よくある勘違い

WebSocketはHTTPの代わりに全部使うもの?

そうではありません。WebSocketが向くのは「つなぎっぱなしにしたい」場面です。
ページの表示やふつうのデータ取得は、これまで通りHTTPで十分なことが多いです。リアルタイム性が必要なところだけWebSocketを足す、という使い分けが一般的です。

つなぎっぱなしだと、サーバーに負担はないの?

接続を開いたままにする分、サーバーは同時につながっている人数を抱え続けます。
そのため、つなぐ相手が増えると相応の準備が必要です。「何でもWebSocketにすれば速い」わけではなく、用途に合うかどうかで選ぶのが大事です。

WebSocketとWebhookは同じもの?

名前は似ていますが別物です。WebSocketはブラウザとサーバーの「つなぎっぱなしの通り道」です。
Webhookは、サーバー同士で「何か起きたら相手に知らせる」通知の仕組みで、つなぎっぱなしにはしません。

🧩 関連して覚えると楽な言葉

  • HTTP: WebSocketへ切り替える前のあいさつに使う、基本の通信ルール
  • API: アプリ同士がやり取りする窓口。WebSocketもその通信手段のひとつ
  • 非同期処理: 返事を待たずに別の処理を進める考え方。リアルタイム通信と相性がよい
  • Webhook: 何か起きたときに相手へ通知を送る、別タイプの連携の仕組み

🏁 ひとことでまとめ

WebSocketは、ブラウザとサーバーのあいだに直通の通り道を開いたままにする仕組みです。
どちらからでもすぐに話しかけられるので、チャットや通知のように「待たせない」サービスを作りやすくなります。