Aller au contenu principal

Analyser une chaîne user agent

Un analyseur user agent lit les jetons d'un en-tête User-Agent et les transforme en champs structurés. Ci-dessous, trois chaînes fixes — un navigateur de bureau, un téléphone et un crawler de moteur de recherche — passent par le même analyseur que l'outil interactif, suivies des règles qu'il applique.

Exemple détaillé

Chrome sous Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Navigateur
Chrome 120.0.0.0
Moteur
Blink
Système d'exploitation
Windows 10/11
Classe d'appareil
Ordinateur
Appareil
Inconnu
Architecture CPU
x64
Bot / crawler
Non
Safari sur iPhone
Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1
Navigateur
Safari 17.0
Moteur
WebKit
Système d'exploitation
iOS 17.0
Classe d'appareil
Mobile
Appareil
Apple iPhone
Architecture CPU
Inconnu
Bot / crawler
Non
Googlebot (crawler pour smartphones)
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.216 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Navigateur
Chrome 120.0.6099.216
Moteur
Blink
Système d'exploitation
Android 6.0.1
Classe d'appareil
Bot
Appareil
Nexus 5X Build/MMB29P
Architecture CPU
Inconnu
Bot / crawler
Googlebot

Chrome sous Windows envoie Windows NT 10.0, commun à Windows 10 et Windows 11 : l'OS est donc affiché comme 10/11. Sur l'iPhone, Version/17.0 donne la version de Safari et iPhone OS 17_0 celle d'iOS. La chaîne de Googlebot intègre un user agent complet de Chrome sous Android, mais les signatures de crawlers sont vérifiées en premier : la classe d'appareil est donc bot ; les champs navigateur et OS indiquent toujours ce pour quoi le crawler se fait passer.

Règles essentielles

  • Les signatures de crawlers sont vérifiées en premier : Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot et facebookexternalhit. Une correspondance fixe la classe d'appareil à bot, même si des jetons de navigateur sont présents.
  • Les navigateurs sont reconnus dans un ordre fixe — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari, puis Chromium — car la plupart des chaînes contiennent aussi les jetons d'autres navigateurs. Le moteur découle du navigateur : Blink, Gecko ou WebKit.
  • Le système d'exploitation provient de la section plateforme entre parenthèses : iPhone, iPad, Android, Windows NT, CrOS, Mac OS X ou Linux. Les tirets bas des numéros de version Apple sont convertis en points.
  • La classe d'appareil est tablette pour un iPad, un jeton Tablet ou Android sans jeton Mobile ; mobile pour un iPhone ou Android avec un jeton Mobile ; et ordinateur pour Windows, macOS, Linux et ChromeOS.
  • Tout ce que la chaîne n'indique pas reste inconnu (null dans la sortie JSON) au lieu d'être deviné. La confiance n'est élevée que lorsqu'un navigateur et un système d'exploitation ont tous deux été reconnus.
  • N'importe quel client peut envoyer un user agent Googlebot. Pour confirmer qu'il s'agit d'un vrai crawler Google, effectuez une recherche DNS inverse sur l'IP de la requête, vérifiez que le nom se termine par googlebot.com ou google.com, puis confirmez par une recherche directe.

Autres guides sur les user agents