WebSocket
WebSocket(ウェブソケット)は、単一のTCPコネクション上に双方向通信のチャンネルを提供する、コンピュータの通信プロトコルの1つである。WebSocketプロトコルは、2011年にRFC 6455としてIETFにより標準化された。Web IDL(英語版)中のWebSocket APIは、当初W3Cにより標準され、後にWHATWGに引き継がれている。
WebSocketはHTTPとは異なるプロトコルである。ともにOSI参照モデルのレイヤー7に位置し、レイヤー4のTCPに依存している。両者は異なるプロトコルであるが、RFC 6455では、WebSocketは「HTTPプロキシと仲介者をサポートするために、HTTPの443番および80番ポート上で動作するように設計されている」と述べられているように、HTTPプロトコルと互換性がある。互換性を実現するために、WebSocketのハンドシェイクはHTTP/1.1 Upgradeヘッダーを使用し、HTTPプロトコルをWebSocketプロトコルに変更するように実現されている。
標準仕様は以下のように規定されている。
API: WebSockets Standard(非公式な日本語訳)。
通信プロトコル: RFC 6455 (非公式な日本語訳)に加えてFetch Standard 6. WebSocket protocol alterations(非公式な日本語訳) HTTP/2と組み合わせる(HTTP/2ストリーム内でWebSocket通信を行う)場合: RFC 8441 HTTP/3と組み合わせる場合: RFC 9220