Indications du client (client hints)

Les indications du client (client hints en anglais) sont un ensemble d'en-têtes de requêtes HTTP qu'un serveur peut demander de façon proactive à un client afin de connaître les caractéristiques spécifiques à l'appareil du client et aux préférences utilisées dans l'agent utilisateur. L'ensemble des en-têtes pour ces « indications » sont listées dans En-têtes HTTP > Indications du client.

Un serveur doit annoncer sa prise en charge de telles indications via l'en-tête Accept-CH (en-US) qui contiendra les indications du client qui l'intéressent. Lorsqu'un client qui prend en charge cette fonctionnalité reçoit cet en-tête Accept-CH, il ajoute les en-têtes d'indication correspondantes aux requêtes suivantes.

Ainsi, après avoir reçu l'en-tête Accept-CH suivant dans une réponse. Le client pourrait ajouter les en-têtes Width (en-US), Viewport-Width (en-US), et Downlink (en-US) aux requêtes suivantes.

Accept-CH: Width, Viewport-Width, Downlink

Le serveur peut alors utiliser ces informations du client pour déterminer les ressources à lui envoyer.

Note : Les indications du client peuvent aussi être formulées en HTML à l'aide de l'élément <meta> avec l'attribut http-equiv :

html
<meta http-equiv="Accept-CH" content="Width, Viewport-Width, Downlink" />

Client Hints Infrastructures variables

Afin d'indiquer à la gestion du cache que les indications du client peuvent modifier la teneur de la réponse, il faudra utiliser l'en-tête HTTP Vary.

Exemple de réponse variable :

Vary: Accept, Width, Viewport-Width, Downlink

Voir aussi