Analyseur de User-Agent
Analysez une chaîne User-Agent pour en extraire les informations de navigateur, de moteur, de système d'exploitation et d'appareil.
Chargement de Analyseur de User-Agent… Si rien ne se passe, activez JavaScript.
L'en-tête User-Agent est une chaîne de texte de format libre que les navigateurs web et les clients HTTP envoient avec chaque requête, identifiant le logiciel qui établit la connexion. Bien qu'il ne s'agisse que d'une seule ligne de texte, un User-Agent bien formé encode une quantité d'informations surprenante : la famille et la version du navigateur, le moteur de rendu sur lequel il repose, le système d'exploitation et sa version, et souvent le type ou le modèle de l'appareil. Ces informations étaient à l'origine destinées à permettre aux serveurs web d'envoyer un contenu adapté au navigateur, à une époque où Internet Explorer et Netscape affichaient les pages de manière très différente. Aujourd'hui, les chaînes User-Agent servent à l'analyse d'audience, à la détection des bots, à la détection des fonctionnalités et au débogage des problèmes de compatibilité des applications web.
Questions fréquentes
Quelles données cet outil envoie-t-il à vos serveurs ?
Pourquoi les chaînes User-Agent contiennent-elles 'Mozilla/5.0' même pour Chrome et Safari ?
Pourquoi le résultat analysé ne correspond-il pas toujours à ce que j'attends ?
Quelle est la différence entre le moteur du navigateur et le navigateur lui-même ?
Y a-t-il des limites de débit sur cet outil ?
Comment cela se compare-t-il à l'utilisation de navigator.userAgent en JavaScript ?
Que sont les Client Hints et comment remplacent-ils le User-Agent ?
Cet outil journalise-t-il les chaînes User-Agent à des fins d'analyse ou de publicité ?
Comment les bots et les robots d'exploration s'identifient-ils dans le User-Agent ?
Puis-je faire confiance aux informations de système d'exploitation et d'appareil d'un User-Agent ?
À propos de Analyseur de User-Agent
Les développeurs web collent des chaînes User-Agent dans des analyseurs lorsqu'un rapport de bug leur parvient d'un utilisateur sur une plateforme inconnue et qu'ils doivent comprendre exactement quelle combinaison de navigateur et de système d'exploitation est en cause. Les ingénieurs QA utilisent les données UA analysées pour vérifier que leurs suites de tests automatisés s'identifient correctement. Les équipes de sécurité analysent les User-Agent dans les journaux du serveur afin de repérer les scrapers web, les scanners de vulnérabilités et les bots. Les développeurs d'API vérifient le UA des requêtes entrantes pour comprendre quelles bibliothèques clientes et quelles versions de SDK leurs utilisateurs exécutent. Les ingénieurs DevOps corrèlent les données UA avec les taux d'erreur pour repérer les régressions de compatibilité propres à un navigateur.
Cet outil analyse les chaînes User-Agent entièrement dans votre navigateur à l'aide d'une bibliothèque JavaScript côté client, aucune donnée n'est envoyée à nos serveurs. La chaîne User-Agent actuelle de votre navigateur est détectée automatiquement au chargement de la page, afin que vous puissiez voir immédiatement votre propre résultat analysé. Vous pouvez aussi coller n'importe quelle chaîne UA que vous avez copiée depuis un journal de serveur ou un rapport de bug pour l'analyser à la demande. L'analyseur identifie la famille du navigateur, la version du navigateur, le moteur de rendu (Blink, Gecko, WebKit, Trident), le système d'exploitation, la version du système d'exploitation et la catégorie d'appareil (ordinateur de bureau, mobile, tablette, bot). Les résultats sont présentés dans un format structuré, chaque champ étant clairement étiqueté.
Lorsque vous lisez les résultats analysés, n'oubliez pas que rien ne garantit l'exactitude des chaînes User-Agent, n'importe quel client peut définir la chaîne UA qu'il souhaite, et l'usurpation est d'une facilité déconcertante. Chrome sous Android, par exemple, inclut les tokens 'Mozilla/5.0' et 'Safari' dans son UA pour des raisons historiques de compatibilité, ce qui explique pourquoi les chaînes UA brutes paraissent bizarres même pour des navigateurs bien connus. Le projet de UA 'gelé' de Chrome (lancé vers 2021) vise à réduire la fuite d'informations en plafonnant les numéros de version dans la chaîne UA et en déplaçant l'identification détaillée du navigateur vers les en-têtes structurés Client Hints (Sec-CH-UA-*). Si vous concevez une détection de navigateur pour un usage en production, privilégiez l'API Client Hints plutôt que l'analyse du User-Agent dans la mesure du possible.
La chaîne qui s'est brisée elle-même : une brève histoire du chaos du User-Agent
L'en-tête User-Agent a été introduit dans la première spécification HTTP publiée en 1992, conçu à l'origine comme une simple identification sur une ligne du logiciel à l'origine d'une requête, quelque chose comme 'NCSA_Mosaic/2.0'. Le chaos a commencé presque immédiatement. Lorsque Netscape Navigator a été lancé en 1994 et a rapidement dominé le marché des navigateurs, les développeurs web se sont mis à servir des pages 'améliorées' uniquement à Netscape, qui s'identifiait comme 'Mozilla'. L'Internet Explorer de Microsoft, sorti en 1995, devait recevoir ces mêmes pages améliorées, il a donc ajouté 'Mozilla/2.0 (compatible; MSIE 3.0)' à sa chaîne UA, se déclarant comme Mozilla tout en s'identifiant comme MSIE.
Tous les grands navigateurs qui ont suivi ont reproduit le même schéma. Opera a ajouté des tokens de compatibilité Mozilla. Safari, bâti sur le moteur KHTML dérivé en WebKit, a ajouté 'Mozilla/5.0 (... like Gecko)' à sa chaîne. Chrome, bâti sur WebKit, a ajouté les tokens 'AppleWebKit' et 'Safari' pour garantir que le code ciblant Safari fonctionne aussi dans Chrome. Résultat : une chaîne UA Chrome actuelle sous Windows contient des tokens pour Mozilla, AppleWebKit, KHTML, Gecko et Safari, cinq références différentes à des navigateurs concurrents, dont aucune n'est l'identité propre de Chrome, qui n'apparaît que sous la forme 'Chrome/version' vers la fin.
Google a annoncé le projet de Réduction du User-Agent en 2020, avec pour objectif de geler la chaîne UA sur une valeur fixe de faible entropie d'ici 2022 et de migrer l'identification détaillée du navigateur vers le mécanisme structuré et facultatif des Client Hints. Le déploiement réel a été plus lent que prévu en raison de préoccupations de compatibilité web, car des millions d'applications web reposent sur l'analyse de la chaîne UA pour une logique qui ne peut pas être migrée facilement. L'en-tête User-Agent devient ainsi un exemple vivant de la difficulté à abandonner une norme d'Internet défaillante mais profondément ancrée : même après trois décennies et une reconnaissance quasi universelle que le format est cassé, l'effort pour le remplacer se mesure en années.