WebSocketとHTTPの関係
WebSocketはHTTPの上に構築されています。WebSocketの接続確立プロセスは、実際にはHTTPリクエストから始まります。
GET /chat HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
この仕組みを理解するために、まずHTTPの進化を見ていきましょう。
WebSocketはHTTPの上に構築されています。WebSocketの接続確立プロセスは、実際にはHTTPリクエストから始まります。
GET /chat HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
この仕組みを理解するために、まずHTTPの進化を見ていきましょう。
HTTP/1.0では、1つのリクエスト・レスポンスごとに TCP接続を確立・切断していました。
HTTP/1.1では持続的接続(Keep-Alive)がデフォルトになりました。
HTTP/1.1の重要な機能として、プロトコルアップグレード機構があります。
GET /chat HTTP/1.1
Host: example.com
Connection: Upgrade
Upgrade: websocket
これにより、既存のHTTP接続を他のプロトコルに切り替えることが可能になりました。
WebSocketがHTTPの上に構築される理由。
既存インフラの活用
段階的移行
標準化のメリット
各プロトコルの接続パターンを実際に体験し、パフォーマンスの違いを比較してみましょう。
HTTP/1.0、HTTP/1.1、WebSocketの接続モデルの違いを体験してみましょう。
デモを実行して以下を観察してください。
実際のWebSocketアップグレードを観察してみましょう。
Connection: Upgrade
Upgrade: websocket
Sec-WebSocket-Key: ...
Sec-WebSocket-Version: 13
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Sec-WebSocket-Accept: ...
HTTP進化の理解
WebSocketの設計思想
パフォーマンスへの影響
このレッスンの内容を理解できましたら、完了マークをつけて次のレッスンに進みましょう。