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).