Aller au contenu principal

4.7. Spécifier les champs d'en-tête HTTP

4.7. Spécifier les champs d'en-tête HTTP

Les applications ont souvent besoin de définir de nouveaux champs d'en-tête HTTP. Lorsqu'elles le font, elles DOIVENT les enregistrer dans le "Hypertext Transfer Protocol (HTTP) Field Name Registry" en suivant la procédure de [HTTP] Section 16.3.

[STRUCTURED-FIELDS] fournit une manière standardisée de définir les valeurs des champs d'en-tête, ce qui facilite leur analyse et leur gestion. Les applications DEVRAIENT utiliser les champs structurés lors de la définition de nouveaux champs d'en-tête.

Lors de la définition des champs d'en-tête, les applications doivent considérer:

  • Le nom du champ d'en-tête DEVRAIT être descriptif et suivre les conventions de nommage de [HTTP] Section 16.3.1.

  • Les champs d'en-tête NE DEVRAIENT PAS utiliser le préfixe "X-", conformément à [RFC6648].

  • La syntaxe de la valeur du champ d'en-tête DEVRAIT être clairement spécifiée. L'utilisation de [STRUCTURED-FIELDS] est recommandée.

  • La sémantique du champ d'en-tête DEVRAIT être clairement expliquée, y compris quand il doit être envoyé et comment il doit être interprété.

  • Les applications DEVRAIENT considérer si le champ d'en-tête doit être saut par saut ou de bout en bout. La plupart des champs d'en-tête définis par l'application devraient être de bout en bout.

  • Les applications DEVRAIENT spécifier ce qui se passe si le champ d'en-tête apparaît plusieurs fois dans un message.

  • Les applications DEVRAIENT spécifier si le champ d'en-tête est destiné aux requêtes, aux réponses ou aux deux.

Les applications DEVRAIENT réutiliser les champs d'en-tête existants lorsque cela est possible plutôt que d'en définir de nouveaux. Par exemple, si une application doit identifier le type de contenu envoyé, elle devrait utiliser Content-Type plutôt que de définir un nouveau champ d'en-tête.

Lors de la réutilisation de champs d'en-tête existants, les applications DOIVENT respecter leur sémantique et syntaxe définies.