Aller au contenu principal

4. Champs de préférence d'intégrité

Les expéditeurs peuvent indiquer leur intérêt pour les champs d'intégrité et leurs préférences en matière d'algorithme de hachage à l'aide des champs HTTP Want-Content-Digest ou Want-Repr-Digest. Ceux-ci peuvent être utilisés dans les requêtes et les réponses.

Want-Content-Digest indique que l'expéditeur souhaite recevoir (via le champ Content-Digest) un condensat de contenu sur les messages associés à l'URI de la requête et aux métadonnées de représentation. Want-Repr-Digest indique que l'expéditeur souhaite recevoir (via le champ Repr-Digest) un condensat de représentation sur les messages associés à l'URI de la requête et aux métadonnées de représentation.

Si Want-Content-Digest ou Want-Repr-Digest sont utilisés dans une réponse, cela indique que le serveur souhaite que le client fournisse le champ d'intégrité respectif lors des futures requêtes.

Les champs de préférence d'intégrité ne sont qu'une indication. Le destinataire du champ peut l'ignorer et envoyer un champ d'intégrité en utilisant n'importe quel algorithme ou omettre entièrement le champ ; par exemple, voir l'annexe C.2. Ce n'est pas une erreur de protocole si les préférences sont ignorées. Les applications qui utilisent des champs d'intégrité et des préférences d'intégrité peuvent définir des attentes ou des contraintes qui s'ajoutent à cette spécification. Les préférences ignorées sont une préoccupation spécifique à l'application.

Want-Content-Digest et Want-Repr-Digest sont de type Dictionnaire où chaque :

  • clé transmet l'algorithme de hachage (voir la section 5) ;

  • valeur est un entier (section 3.3.1 de [STRUCTURED-FIELDS]) qui transmet une préférence pondérée, relative et ascendante. Il doit être compris entre 0 et 10 inclus. 1 est le moins préféré, 10 est le plus préféré et une valeur de 0 signifie "non acceptable".

Exemples :

Want-Repr-Digest: sha-256=1
Want-Repr-Digest: sha-512=3, sha-256=10, unixsum=0
Want-Content-Digest: sha-256=1
Want-Content-Digest: sha-512=3, sha-256=10, unixsum=0