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
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
, Viewport-Width
, et Downlink
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
:
<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