Aller au contenu principal

7.5.4. Versions HTTP et ambiguïté des composants

7.5.4. Versions HTTP et ambiguïté des composants

Certains composants de message s’expriment différemment selon les versions HTTP. Par exemple, l’autorité de la cible de requête est envoyée avec le champ d’en-tête Host en HTTP/1.1, mais avec le pseudo-en-tête :authority en HTTP/2. Si un signataire envoie un message HTTP/1.1 et signe le champ Host, mais que le message est traduit en HTTP/2 avant d’atteindre le vérificateur, la signature ne validera pas, car le champ Host peut être supprimé.

C’est pour cette raison que les signatures de message HTTP définissent un ensemble de composants dérivés qui fixent une seule façon d’obtenir la valeur en question, telle que le composant dérivé @authority (section 2.2.3) à la place du champ Host. Les applications devraient donc préférer les composants dérivés pour de telles options lorsque c’est possible.