Zum Hauptinhalt springen

1. Einführung (Introduction)

HTTP-Erweiterungen (wie in Abschnitt 16 von [HTTP] definiert) müssen manchmal auf zugrunde liegende Transportprotokollfunktionen wie unzuverlässige Zustellung (wie von [QUIC-DGRAM] angeboten) zugreifen, um wünschenswerte Funktionen zu ermöglichen. Dies könnte beispielsweise die Einführung einer unzuverlässigen Version der CONNECT-Methode und das Hinzufügen einer unzuverlässigen Zustellung zu WebSockets [WEBSOCKET] ermöglichen.

In Abschnitt 2 beschreibt dieses Dokument HTTP-Datagramme (HTTP Datagrams), eine Konvention für die Übertragung bidirektionaler und potenziell unzuverlässiger Datagramme innerhalb einer HTTP-Verbindung mit Multiplexing, wenn möglich. Während HTTP-Datagramme mit HTTP-Anfragen verknüpft sind, sind sie kein Teil des Nachrichteninhalts. Stattdessen sind sie für die Verwendung durch HTTP-Erweiterungen (wie die CONNECT-Methode) vorgesehen und mit allen Versionen von HTTP kompatibel.

Wenn HTTP über ein Transportprotokoll läuft, das unzuverlässige Zustellung unterstützt (z. B. wenn die QUIC DATAGRAM-Erweiterung [QUIC-DGRAM] für HTTP/3 [HTTP/3] verfügbar ist), können HTTP-Datagramme diese Fähigkeit nutzen.

In Abschnitt 3 beschreibt dieses Dokument das HTTP-Kapselprotokoll (HTTP Capsule Protocol), das die Übertragung von HTTP-Datagrammen unter Verwendung zuverlässiger Zustellung ermöglicht. Dies adressiert HTTP/3-Fälle, in denen die Verwendung des QUIC DATAGRAM-Frames nicht verfügbar oder unerwünscht ist, oder in denen das Transportprotokoll nur zuverlässige Zustellung bietet, wie bei HTTP/1.1 [HTTP/1.1] oder HTTP/2 [HTTP/2] über TCP [TCP].

1.1. Konventionen und Definitionen (Conventions and Definitions)​

Die Schlüsselwörter "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY" und "OPTIONAL" in diesem Dokument sind wie in BCP 14 [RFC2119] [RFC8174] beschrieben zu interpretieren, wenn und nur wenn sie in Großbuchstaben erscheinen, wie hier gezeigt.

Dieses Dokument verwendet Terminologie aus [QUIC].

Wenn dieses Dokument Protokolltypen definiert, verwendet das Definitionsformat die Notation aus Abschnitt 1.3 von [QUIC]. Wenn Felder innerhalb von Typen Ganzzahlen sind, werden sie unter Verwendung der Kodierung für Ganzzahlen variabler Länge aus Abschnitt 16 von [QUIC] kodiert. Ganzzahlwerte müssen nicht mit der minimal notwendigen Anzahl von Bytes kodiert werden.

In diesem Dokument bezieht sich der Begriff "Intermediary" (Vermittler) auf einen HTTP-Vermittler, wie in Abschnitt 3.7 von [HTTP] definiert.