WebSocket
サーバーとクライアント間で全二重(双方向)の持続的な通信チャネルを確立するプロトコル。チャット・リアルタイム通知・ゲームなどHTTPのリクエスト/レスポンス型では実現しにくい用途に使われる。
WebSocketとは?
WebSocket(RFC 6455)は、クライアントとサーバー間で持続的な全二重通信チャネルを確立するプロトコルです。通常のHTTPはクライアントからリクエストを送らないとサーバーから返答が来ませんが、WebSocketではサーバーから任意のタイミングでデータをプッシュできます。
HTTPとWebSocketの比較
| 項目 | HTTP | WebSocket |
|---|---|---|
| 通信方向 | 一方向(クライアント起点) | 全二重(双方向) |
| 接続 | リクエストごとに接続/切断 | 持続的な接続を維持 |
| オーバーヘッド | ヘッダーが毎回発生 | 接続後は小さいフレームのみ |
| プロトコル | http:// / https:// | ws:// / wss:// |
WebSocketのハンドシェイク
WebSocketはHTTPアップグレードリクエストで開始します:
GET /chat HTTP/1.1
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Key: xxxxxx==
主なユースケース
- チャット・メッセージング: LINEやSlack型のリアルタイムメッセージ
- ライブ通知: 注文状況・株価・スポーツスコアの更新
- オンラインゲーム: 低レイテンシが求められるマルチプレイヤーゲーム
- コラボレーションツール: Google DocsやFigmaのリアルタイム共同編集
まとめ
リアルタイム性が必要な場合はWebSocketが第一選択肢ですが、単方向プッシュで良ければ**Server-Sent Events(SSE)**が実装がシンプルです。
関連する用語 (ネットワーク用語辞典)
全37件を見るポート番号: 22 (SSH) とセキュリティ対策
UNIX系サーバーの遠隔操作に必須のポート22とSSHの仕組み、そして必須のセキュリティ対策。
プロキシサーバー
クライアントとインターネットの間に立ち、通信を代理するサーバー。キャッシュによる高速化・アクセス制御・匿名化・コンテンツフィルタリングに使われる。
IT用語: ARP(アドレス解決プロトコル)とは
IPアドレスからMACアドレスを調べるARPの仕組みとARPテーブルの役割を解説。
IPv6(インターネットプロトコルバージョン6)
128ビットのアドレス空間を持つ次世代IPプロトコル。IPv4のアドレス枯渇問題を解決し、約340澗(3.4×10の38乗)個のアドレスを提供できる。
BGP(ボーダーゲートウェイプロトコル)
インターネット上の自律システム(AS)間でルーティング情報を交換するプロトコル。インターネットの経路制御の根幹を担い、「インターネットの接着剤」とも呼ばれる。
HTTP/3(QUIC)
TCPの代わりにQUICプロトコル(UDPベース)を使う次世代Webプロトコル。Head-of-Line Blockingを解消し、モバイル環境やパケットロスが多い環境でHTTP/2より優れたパフォーマンスを発揮する。