En-tête Critical-CH
Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.
Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.
L'en-tête de réponse HTTP Critical-CH est utilisé avec Accept-CH pour indiquer les indications client acceptées qui sont critiques.
Les agents utilisateur recevant une réponse avec Critical-CH doivent vérifier si les en-têtes critiques indiqués ont été envoyés dans la requête d'origine. Si ce n'est pas le cas, l'agent utilisateur relancera la requête avec les en-têtes critiques au lieu d'afficher la page. Cette approche garantit que les préférences client définies avec des indications critiques sont toujours utilisées, même si elles ne sont pas incluses dans la première requête ou après un changement de configuration du serveur.
Chaque en-tête listé dans l'en-tête Critical-CH doit aussi être présent dans les en-têtes Accept-CH et Vary.
| Type d'en-tête | En-tête de réponse |
|---|
Syntaxe
Critical-CH: <ch-list>
Directives
<ch-list>-
Une liste d'un ou plusieurs en-têtes d'indications client, séparés par des virgules, que le serveur considère comme des indications critiques.
Exemples
Le client effectue une première requête vers le serveur :
GET / HTTP/1.1
Host: exemple.com
Le serveur répond, en indiquant via Accept-CH qu'il accepte Sec-CH-Prefers-Reduced-Motion. Dans cet exemple, Critical-CH est aussi utilisé pour préciser que Sec-CH-Prefers-Reduced-Motion est considéré comme une indication critique.
HTTP/1.1 200 OK
Content-Type: text/html
Accept-CH: Sec-CH-Prefers-Reduced-Motion
Vary: Sec-CH-Prefers-Reduced-Motion
Critical-CH: Sec-CH-Prefers-Reduced-Motion
Note :
Nous avons précisé Sec-CH-Prefers-Reduced-Motion dans l'en-tête Vary pour indiquer que les réponses doivent être mises en cache séparément selon la valeur de cet en-tête (même si l'URL reste la même).
Chaque en-tête listé dans l'en-tête Critical-CH doit aussi être présent dans les en-têtes Accept-CH et Vary.
Le client relance automatiquement la requête (du fait de la présence de Critical-CH ci-dessus), en indiquant au serveur via Sec-CH-Prefers-Reduced-Motion qu'il a une préférence utilisateur pour les animations à mouvement réduit :
GET / HTTP/1.1
Host: exemple.com
Sec-CH-Prefers-Reduced-Motion: "reduce"
Le client inclura cet en-tête dans les requêtes suivantes de la session courante, sauf si Accept-CH change dans les réponses pour indiquer qu'il n'est plus pris en charge par le serveur.
Spécifications
| Specification |
|---|
| Client Hint Reliability> # name-the-critical-ch-response-he> |