Comment fonctionne le user agent
Chaque requête d’un navigateur porte un en-tête User-Agent : une ligne qui nomme le navigateur, son moteur et le système sur lequel il tourne. Les serveurs s’en servent pour choisir une mise en page mobile, noter quels navigateurs les visitent, repérer les robots et contourner des bogues de navigateur. Cette page montre l’en-tête exactement comme il est arrivé au serveur, et la même chaîne que votre navigateur donne aux scripts.
La chaîne est pleine d’histoire : tous les navigateurs commencent par Mozilla/5.0, Chrome se fait aussi passer pour Safari, et Edge pour Chrome. Les navigateurs en figent désormais des parties pour compliquer le suivi : Windows 11 indique donc toujours Windows NT 10.0, les Mac indiquent 10.15.7 et Chrome sur Android cache le modèle du téléphone. Les User-Agent Client Hints remplacent ces parties : un navigateur qui les prend en charge indique, à la demande, la vraie version de la plateforme, le modèle et l’architecture. Cette page les demande directement à votre navigateur.
L’analyseur de cette page est petit et s’exécute dans votre navigateur. Il vérifie d’abord les robots d’exploration et les outils HTTP connus (Googlebot, Bingbot, GPTBot, curl, Wget, python-requests et bien d’autres), puis les navigateurs basés sur Chromium avant Chrome lui-même, et Chrome avant Safari, car leurs chaînes contiennent les noms des autres. La chaîne d’un robot peut être copiée par n’importe qui : un nom seul ne prouve donc rien.
Exemple
Voici la chaîne qu’envoie Chrome 131 sous Windows 64 bits :
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36| Partie | Signification |
|---|---|
Mozilla/5.0 | Envoyé par tous les navigateurs pour la compatibilité depuis les années 1990. Il ne dit rien aujourd’hui. |
(Windows NT 10.0; Win64; x64) | Le système : Windows NT 10.0, c’est-à-dire Windows 10 ou 11, en version 64 bits sur un processeur x64. |
AppleWebKit/537.36 (KHTML, like Gecko) | Le jeton du moteur, figé à la même valeur depuis que Chrome est passé de WebKit à son propre moteur Blink en 2013. |
Chrome/131.0.0.0 | Le navigateur et sa version majeure. Les trois autres nombres valent toujours 0 dans la chaîne réduite actuelle. |
Safari/537.36 | Un autre jeton de compatibilité, pour que les sites écrits pour Safari fonctionnent aussi. |
L’analyseur la lit donc comme Chrome 131 avec le moteur Blink, Windows 10 ou 11, un ordinateur de bureau avec un processeur x86-64. Dans ce même navigateur, les Client Hints ajouteraient une version de plateforme de 13 ou plus sous Windows 11, et la version complète de Chrome.
Questions
Qu’est-ce qu’un user agent ?
Un user agent est le programme qui fait une requête web pour vous, en général votre navigateur. Il se présente dans l’en-tête User-Agent avec une chaîne comme Mozilla/5.0 (Windows NT 10.0; Win64; x64) … Chrome/131.0.0.0 Safari/537.36. Les serveurs la lisent pour choisir une mise en page, compter les navigateurs dans leurs statistiques et reconnaître les robots. Le vôtre est en haut de cette page.
Comment changer mon user agent ?
Dans Chrome ou Edge, ouvrez les outils de développement, puis le menu ⋮ → Plus d’outils → Conditions du réseau, décochez « Utiliser la valeur par défaut du navigateur » et choisissez-en un ou saisissez le vôtre. Dans Firefox, ouvrez about:config et ajoutez un paramètre de type chaîne general.useragent.override. Dans Safari, activez le menu Développement dans Réglages → Avancé, puis choisissez Développement → User Agent. Avec curl, utilisez -A, par exemple curl -A "MyBot/1.0" https://example.com. Rechargez cette page pour voir le changement.
Pourquoi mon user agent indique-t-il Windows 10 alors que j’ai Windows 11 ?
Les navigateurs n’ont jamais modifié la chaîne pour Windows 11 : les deux versions envoient Windows NT 10.0. Chrome, Edge et Opera indiquent la vraie version via les Client Hints, où une version de plateforme de 13 ou plus signifie Windows 11 ; cette page la lit et affiche Windows 11. Firefox ne propose pas les Client Hints : il ne peut donc dire que Windows 10 ou 11.
Pourquoi mon Mac affiche-t-il macOS 10.15.7 ?
Safari et Chrome ont figé la version de macOS à 10.15.7 et Firefox à 10.15 : tous les Mac plus récents envoient donc cela, Apple silicon ou Intel. Certains vieux sites ont cessé de fonctionner quand la version a dépassé 10, et une valeur fixe donne aussi moins de prise aux traceurs. Chrome, Edge et Opera donnent la vraie version via les Client Hints, que cette page affiche quand ils sont disponibles.
Comment savoir si un visiteur est vraiment Googlebot ?
Pas grâce au user agent : n’importe qui peut envoyer la chaîne de Googlebot. Faites une recherche DNS inverse sur l’adresse IP du visiteur. Une vraie adresse de Googlebot correspond à un nom sous googlebot.com, google.com ou googleusercontent.com, et ce nom doit résoudre vers la même adresse. Google publie aussi les plages d’adresses de ses robots d’exploration sous forme de fichiers JSON. Bing, Apple et OpenAI proposent le même type de vérification pour leurs robots.