Aller au contenu principal

6. Format de charge utile de datagramme HTTP

Lorsqu'il est associé à des flux de requête de relais IP, le champ Charge utile de datagramme HTTP des datagrammes HTTP (voir [HTTP-DGRAM]) a le format défini dans la Figure 13. Notez que, lorsque les datagrammes HTTP sont encodés à l'aide de trames QUIC DATAGRAM, le champ Context ID défini ci-dessous suit directement le champ Quarter Stream ID qui se trouve au début de la charge utile de la trame QUIC DATAGRAM :

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

Figure 13 : Format de datagramme HTTP de relais IP

La charge utile de datagramme HTTP de relais IP contient les champs suivants :

Context ID (ID de contexte) : Un entier de longueur variable qui contient la valeur de l'ID de contexte. Si un datagramme HTTP/3 qui porte un ID de contexte inconnu est reçu, le destinataire DOIT soit supprimer ce datagramme silencieusement, soit le mettre en mémoire tampon temporairement (de l'ordre d'un aller-retour) en attendant l'enregistrement de l'ID de contexte correspondant.

Payload (Charge utile) : La charge utile du datagramme, dont la sémantique dépend de la valeur du champ précédent. Notez que ce champ peut être vide.

Les paquets IP sont encodés à l'aide de datagrammes HTTP avec l'ID de contexte défini sur zéro. Lorsque l'ID de contexte est défini sur zéro, le champ Payload contient un paquet IP complet (du champ Version IP jusqu'au dernier octet de la charge utile IP).