メインコンテンツまでスキップ

1. はじめに (Introduction)

HTTP 拡張機能 (HTTP extensions) ([HTTP] のセクション 16 で定義) は、望ましい機能を実現するために、信頼性のない配信 (unreliable delivery) ([QUIC-DGRAM] で提供) などの基盤となるトランスポートプロトコルの機能にアクセスする必要がある場合があります。例えば、これにより信頼性のないバージョンの CONNECT メソッドの導入や、WebSockets [WEBSOCKET] への信頼性のない配信の追加が可能になります。

セクション 2 では、本文書は HTTP データグラム (HTTP Datagrams) について説明します。これは、可能な場合は多重化 (multiplexing) を伴い、HTTP 接続内で双方向かつ潜在的に信頼性のないデータグラムを伝送するための規約です。HTTP データグラムは HTTP リクエストに関連付けられていますが、メッセージコンテンツの一部ではありません。代わりに、HTTP 拡張機能 (CONNECT メソッドなど) で使用することを意図しており、すべてのバージョンの HTTP と互換性があります。

HTTP が信頼性のない配信をサポートするトランスポートプロトコル上で実行されている場合 (QUIC DATAGRAM 拡張 [QUIC-DGRAM] が HTTP/3 [HTTP/3] で利用可能な場合など)、HTTP データグラムはその機能を使用できます。

セクション 3 では、本文書は HTTP カプセルプロトコル (HTTP Capsule Protocol) について説明します。これは、信頼性のある配信 (reliable delivery) を使用して HTTP データグラムを伝送することを可能にします。これは、QUIC DATAGRAM フレームの使用が利用できない、または望ましくない HTTP/3 のケース、またはトランスポートプロトコルが信頼性のある配信のみを提供する場合 (TCP [TCP] 上の HTTP/1.1 [HTTP/1.1] や HTTP/2 [HTTP/2] など) に対処します。

1.1. 表記規則と定義 (Conventions and Definitions)

本文書のキーワード "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"NOT RECOMMENDED"、"MAY"、"OPTIONAL" は、BCP 14 [RFC2119] [RFC8174] に記載されているとおりに解釈されるものとします (MAY)。ただし、ここに示すように、すべて大文字で表記されている場合に限ります。

本文書は [QUIC] の用語を使用します。

本文書がプロトコルタイプを定義する場合、定義形式は [QUIC] のセクション 1.3 の表記法を使用します。タイプ内のフィールドが整数である場合、それらは [QUIC] のセクション 16 の可変長整数エンコーディング (variable-length integer encoding) を使用してエンコードされます。整数値は、必要最小限のバイト数でエンコードする必要はありません。

本文書では、「中継者 (intermediary)」という用語は、[HTTP] のセクション 3.7 で定義されている HTTP 中継者 (HTTP intermediary) を指します。