Chrome continue de réduire le nombre d'informations partagées dans sa chaîne user-agent afin de protéger la vie privée des utilisateurs.
À partir de Chrome 110 (février 2023), nous introduisons progressivement une valeur fixe pour la version d'Android et le modèle d'appareil. La valeur par défaut sera toujours Android 10
sur un modèle K
.
Si vous utilisez le user-agent pour détecter la version du système d'exploitation, le modèle de l'appareil Android ou la version détaillée du navigateur de l'internaute, vous devrez peut-être prendre des mesures. Lisez la suite pour en savoir plus.
Le user-agent est une chaîne qui fournit des informations sur le navigateur de l'internaute et son environnement. Il indique par exemple qu'un visiteur de votre site exécute Chrome version 110 sur Android. Votre navigateur envoie ce code dans un en-tête HTTP et le rend disponible via JavaScript.
Le problème avec la chaîne user-agent complète est qu'elle partage par défaut des informations détaillées sur le navigateur à chaque demande, ce qui est un facteur majeur pour permettre le suivi intersites. Notre objectif est de réduire les possibilités de collecte passive de ces données tout en fournissant des API qui vous permettent d'accéder activement aux données lorsque vous en avez besoin.
Réduction du nombre de user-agents jusqu'à présent
Nous avons déjà commencé à supprimer certaines données relatives aux user-agents et à les remplacer par des valeurs fixes.
Dans Chrome 101, nous avons remplacé le numéro de version mineure par des zéros, par exemple Chrome/101.3.2.1 est devenu Chrome/101.0.0.0.
À partir de Chrome 107, nous avons remplacé la version du système d'exploitation pour ordinateur de bureau et les informations sur le processeur par une valeur fixe pour la plate-forme.
Mac | ➡ | Macintosh; Intel Mac OS X 10_15_7 |
Windows | ➡ | Windows NT 10.0; Win64 x64 |
ChromeOS | ➡ | X11 CrOS x86_64 14541.0.0 |
Linux | ➡ | X11 Linux x86_64 |
Correction de la version d'Android et du modèle d'appareil à partir de Chrome 110
À partir de Chrome 110, nous introduisons progressivement une valeur fixe pour la version d'Android et le modèle d'appareil.
Au lieu d'afficher une valeur semblable à Android 13
sur Pixel 7
, la valeur par défaut sera toujours Android 10
sur un modèle K
.
Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36
Aucune modification du format du user-agent
La réduction du user-agent modifie les valeurs renvoyées par le user-agent, mais le format reste le même. Si vous n'utilisez le user-agent que pour lire le type de système d'exploitation ou la version principale du navigateur, ces données continuent d'être mises à jour comme avant, et vous n'avez rien à faire.

Alternatives au user-agent
Si vous utilisez actuellement des données plus détaillées, nous vous recommandons de vérifier si vous pouvez utiliser l'amélioration progressive ou la détection de fonctionnalités à la place.
N'oubliez pas que le user-agent est identique à toute autre valeur fournie par l'utilisateur. Vous devez la valider et ne pas supposer qu'elle est exacte. La valeur du user-agent peut être facilement modifiée par l'utilisateur, les extensions ou d'autres clients, voire ne pas être envoyée du tout. Dans la plupart des cas, vous devriez pouvoir fournir du contenu fonctionnel aux visiteurs sans données user-agent.
Demander des données détaillées avec les hints client user-agent
Il existe de nombreuses raisons valables d'accéder à des données détaillées sur les user-agents, par exemple en fournissant un contenu spécifique à l'appareil, une fonctionnalité de lutte contre la fraude ou une journalisation précise. Si vous avez besoin de données plus détaillées, vous pouvez utiliser l'API User-Agent Client Hints (UA-CH) pour y accéder. Tout comme le user-agent, UA-CH est disponible via des en-têtes HTTP ou JavaScript.
Vous avez peut-être déjà vu les en-têtes par défaut envoyés avec le préfixe Sec-CH-UA-
. Celui-ci vous indique le navigateur, sa version principale, le système d'exploitation et si le navigateur est un appareil mobile.
⏫ En-têtes de requête par défaut des indicateurs client user-agent de Chrome:
Sec-CH-UA: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"
Vous pouvez utiliser l'en-tête Accept-CH
dans votre réponse pour demander plus de données.
Dans ce cas, vous pouvez demander à Sec-CH-UA-Platform-Version
et Sec-CH-UA-Model
de récupérer cette version d'Android et ce type d'appareil dans les requêtes ultérieures.
⏬ En-tête de réponse de votre serveur spécifiant la version et le modèle de la plate-forme:
Accept-CH:
Sec-CH-UA-Platform-Version,
Sec-CH-UA-Model
⏫ Demandez à Chrome d'envoyer des en-têtes indiquant la version d'Android et le nom du modèle:
Sec-CH-UA-Platform-Version: "13.0.0"
Sec-CH-UA-Model: "Pixel 7"
Vous pouvez faire la même chose en JavaScript en appelant getHighEntropyValues()
sur l'API userAgentData
, en transmettant un tableau des valeurs souhaitées: platformVersion
et model
.
Cela renvoie une promesse avec un objet contenant les valeurs spécifiques.
navigator.userAgentData
.getHighEntropyValues(
['platformVersion', 'model']
).then(ua => { console.log(ua)
});
{
"platformVersion": "13.0.0",
"model": "Pixel 7"
}
Requêtes initiales ou multi-origines
Si des ressources d'origines différentes sur votre page ont besoin de ces valeurs, vous pouvez autoriser l'accès via l'en-tête HTTP Permissions-Policy
ou en utilisant la balise Meta Delegate-CH
dans votre code HTML.
Si ces valeurs sensibles doivent figurer sur votre site dans la toute première requête de niveau supérieur, vous pouvez utiliser l'en-tête HTTP Critical-CH
qui indiquera au navigateur de relancer sa requête initiale en ajoutant ces indications supplémentaires.
Cela peut être utile pour les anciens systèmes difficiles à mettre à jour, mais idéalement, vous ne devez pas vous appuyer sur ces valeurs sensibles pour diffuser votre code HTML initial.
En savoir plus
Pour voir la chaîne user-agent réduite en action, consultez ce qui suit:
- Pour voir la chaîne user-agent réduite pour votre appareil, consultez goo.gle/reduced-ua-demo
- Consultez tous les indicateurs client User-Agent des en-têtes JavaScript et HTTP pour votre appareil sur goo.gle/ua-ch-demo
- Envoyez la chaîne de user-agent réduite dans votre navigateur en activant l'indicateur Chrome
#reduce-user-agent
.
Vous pouvez également vous inscrire à la phase d'évaluation de la réduction user-agent pour recevoir le user-agent réduit sur votre site. Toutefois, cette période d'essai prendra fin début mars, car nous continuons à envoyer le user-agent réduit par défaut.
D'autres ressources sont disponibles sur la page de destination de la réduction user-agent. Vous pouvez également signaler vos problèmes dans notre dépôt GitHub dédié à la réduction des user-agents.