Qu'est-ce qu'un agent utilisateur ?

A agent utilisateur est une chaîne envoyée dans le User-Agent En-tête HTTP présent dans chaque requête, qui indique au serveur le navigateur, l'application, le système d'exploitation et la version du client. MDN le définit comme « une chaîne de caractères caractéristique qui permet aux serveurs et aux pairs du réseau d'identifier l'application, le système d'exploitation, le fournisseur et/ou la version de l'agent utilisateur à l'origine de la requête » (MDN Web Docs (Mozilla), 2025). Les serveurs analysent cette valeur pour déterminer comment formater une réponse, et les systèmes de détection des bots l'utilisent comme premier filtre.

Comment fonctionne l'en-tête « User-Agent » ?

Tout client HTTP, qu'il s'agisse d'un navigateur, d'une application mobile ou d'un script de scraping, joint un User-Agent en-tête à chaque requête sortante. Une chaîne Chrome pour ordinateur de bureau comprend généralement le nom du navigateur et sa version principale, le système d'exploitation et un identifiant de plateforme. Le serveur peut alors renvoyer une page optimisée pour mobile, une mise en page complète pour ordinateur de bureau, ou bloquer la requête si la chaîne correspond à un modèle de robot d'indexation connu.

Ce format est vaguement normalisé, mais son utilisation n'est pas uniforme dans la pratique. Les éditeurs de navigateurs ont, par le passé, intégré des indicateurs de compatibilité provenant de navigateurs antérieurs ; c'est pourquoi la plupart des chaînes d'agent utilisateur modernes contiennent encore « Mozilla/5.0 », quel que soit le navigateur effectivement utilisé.

En quoi la réduction des User-Agent modifie le signal

Les navigateurs basés sur Chromium ont réduit la quantité d'informations divulguées dans la chaîne « User-Agent ». La fonctionnalité « User-Agent Reduction » supprime trois éléments d'identification : la plate-forme exacte et la version du système d'exploitation, le modèle de l'appareil et la version mineure du navigateur (MDN Web Docs - Réduction de l'agent utilisateur, 2025). L'objectif est de réduire l'utilité de cette chaîne de caractères en tant que signal d'identification passive.

Les serveurs qui ont besoin d'informations détaillées sur les clients peuvent les demander via les « User-Agent Client Hints », un ensemble de Sec-CH-UA-* des en-têtes que le navigateur n'envoie que lorsque le serveur donne son accord. Cela fait passer le modèle d'une diffusion passive à un échange actif et structuré.

Cas d'usage

Négociation de contenu. Les serveurs utilisent l'en-tête « User-Agent » pour distinguer les clients mobiles des clients de bureau et proposer la mise en page ou la taille d'image appropriée, sans avoir recours à un sous-domaine distinct ni à une chaîne de redirections.

Détection et filtrage des bots. Les outils d'automatisation tels que curl, la bibliothèque « requests » de Python et les navigateurs sans interface graphique génèrent des chaînes de caractères par défaut caractéristiques. Les couches de détection signalent les requêtes dont l'identifiant d'agent utilisateur (UA) correspond à des modèles connus n'appartenant pas à un navigateur, est totalement absent ou ne correspond pas à d'autres signaux tels que les empreintes TLS ou l'ordre des en-têtes.

Extraction de données sur le Web et automatisation. Les scrapers et les outils d'automatisation des navigateurs définissent souvent des chaînes UA réalistes afin de réduire les blocages dès les premières étapes. Une chaîne UA bien adaptée doit correspondre au navigateur réel émulé et être cohérente Sec-CH-UA-* Les en-têtes permettent d'éviter les incompatibilités de signal. La Web Render API de Massive gère ces en-têtes au niveau de l'infrastructure, renvoyant ainsi un contenu de page propre sans que les clients aient à ajuster manuellement les chaînes de caractères pour chaque requête.

Foire aux questions

Une chaîne de caractères typique de Chrome sur ordinateur de bureau se présente comme suit : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36. Il permet de spécifier la plateforme, le moteur de mise en page et la famille de navigateurs en une seule ligne.

Oui. N'importe quel client HTTP peut envoyer n'importe quelle chaîne de caractères dans le User-Agent en-tête. Les navigateurs mettent à disposition des outils de développement permettant de le modifier pour chaque onglet, et les bibliothèques d'automatisation le définissent par programmation. L'usurpation de l'identifiant utilisateur (UA) ne suffit généralement pas à elle seule à contourner la détection, car les serveurs l'associent à d'autres signaux, tels que les empreintes TLS et l'ordre des en-têtes. Voir usurpation d'agent utilisateur pour un traitement complet.

Les « User-Agent Client Hints » constituent un ensemble de Sec-CH-UA-* des en-têtes qui offrent aux serveurs un moyen structuré et facultatif de demander des informations spécifiques sur le client. Au lieu de transmettre toutes les données dans une seule chaîne de caractères, le navigateur n'envoie que ce que le serveur demande explicitement, ce qui réduit l'exposition au « fingerprinting » passif.

De nombreux systèmes de détection considèrent qu'un élément absent User-Agent L'en-tête sert d'indicateur immédiat de la présence d'un client automatisé, car les navigateurs légitimes en envoient toujours un. Un en-tête manquant ou vide permet de limiter le trafic aux scripts ou aux outils mal configurés, ce qui en fait un filtre préliminaire peu coûteux et fiable.