Zum Hauptinhalt springen

6. HTTP-Datagramm-Nutzlastformat

Wenn es IP-Proxying-Anfragestreams zugeordnet ist, hat das Feld HTTP-Datagramm-Nutzlast von HTTP-Datagrammen (siehe [HTTP-DGRAM]) das in Abbildung 13 definierte Format. Beachten Sie, dass, wenn HTTP-Datagramme unter Verwendung von QUIC DATAGRAM-Frames codiert werden, das unten definierte Kontext-ID-Feld direkt auf das Quarter Stream ID-Feld folgt, das sich am Anfang der QUIC DATAGRAM-Frame-Nutzlast befindet:

IP Proxying HTTP Datagram Payload {
Context ID (i),
Payload (..),
}

Abbildung 13: IP-Proxying-HTTP-Datagrammformat

Die IP-Proxying-HTTP-Datagramm-Nutzlast enthält die folgenden Felder:

Context ID (Kontext-ID): Eine Ganzzahl variabler Länge, die den Wert der Kontext-ID enthält. Wenn ein HTTP/3-Datagramm empfangen wird, das eine unbekannte Kontext-ID trägt, MUSS der Empfänger dieses Datagramm entweder stillschweigend verwerfen oder es vorübergehend puffern (in der Größenordnung eines Roundtrips), während er auf die Registrierung der entsprechenden Kontext-ID wartet.

Payload (Nutzlast): Die Nutzlast des Datagramms, deren Semantik vom Wert des vorherigen Feldes abhängt. Beachten Sie, dass dieses Feld leer sein kann.

IP-Pakete werden unter Verwendung von HTTP-Datagrammen codiert, bei denen die Kontext-ID auf Null gesetzt ist. Wenn die Kontext-ID auf Null gesetzt ist, enthält das Feld Payload ein vollständiges IP-Paket (vom Feld IP-Version bis zum letzten Byte der IP-Nutzlast).