Page d'accueil » comment » Qu'est-ce que l'agent utilisateur d'un navigateur?

    Qu'est-ce que l'agent utilisateur d'un navigateur?

    Votre navigateur envoie son agent utilisateur à chaque site Web auquel vous vous connectez. Nous avons déjà écrit sur la modification de l'agent utilisateur de votre navigateur - mais qu'est-ce qu'un agent utilisateur??

    Un agent d'utilisateur est une «chaîne», c'est-à-dire une ligne de texte, identifiant le navigateur et le système d'exploitation sur le serveur Web. Cela semble simple, mais les agents utilisateurs sont devenus un désastre avec le temps.

    Les bases

    Lorsque votre navigateur se connecte à un site Web, il inclut un champ User-Agent dans son en-tête HTTP. Le contenu du champ de l'agent d'utilisateur varie d'un navigateur à l'autre. Chaque navigateur a son propre agent utilisateur distinctif. Un agent utilisateur est essentiellement un moyen pour un navigateur de dire «Bonjour, je suis Mozilla Firefox sous Windows» ou «Bonjour, je suis Safari sur un iPhone» à un serveur Web..

    Le serveur Web peut utiliser ces informations pour servir différentes pages Web à différents navigateurs Web et systèmes d'exploitation. Par exemple, un site Web peut envoyer des pages mobiles à des navigateurs mobiles, des pages modernes à des navigateurs modernes et un message «Veuillez mettre à niveau votre navigateur» à Internet Explorer 6..

    Examiner les agents utilisateurs

    Par exemple, voici l'agent utilisateur de Firefox sur Windows 7:

    Mozilla / 5.0 (Windows NT 6.1; WOW64; version 12.0) Gecko / 20100101 Firefox / 12.0

    Cet agent utilisateur en dit long au serveur Web: le système d'exploitation est Windows 7 (nom de code Windows NT 6.1), une version 64 bits de Windows (WOW64) et le navigateur lui-même est Firefox 12..

    Examinons maintenant l'agent utilisateur d'Internet Explorer 9, à savoir:

    Mozilla / 5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)

    La chaîne de l'agent utilisateur identifie le navigateur comme étant IE 9 avec le moteur de rendu Trident 5. Cependant, vous pourriez trouver quelque chose de déroutant - IE s’identifie en tant que Mozilla.

    Nous y reviendrons dans une minute. Premièrement, examinons également l'agent utilisateur de Google Chrome:

    Mozilla / 5.0 (Windows NT 6.1; WOW64) AppleWebKit / 536.5 (KHTML, comme Gecko) Chrome / 19.0.1084.52 Safari / 536.5

    L'intrigue s'épaissit: Chrome prétend être à la fois Mozilla et Safari. Pour comprendre pourquoi, nous devrons examiner l'historique des agents utilisateurs et des navigateurs..

    Le mess de la chaîne de l'agent utilisateur

    Mosaic était l'un des premiers navigateurs. Sa chaîne d'agent utilisateur était NCSA_Mosaic / 2.0. Plus tard, Mozilla est arrivé (plus tard renommé Netscape) et son agent utilisateur était Mozilla / 1.0. Mozilla était un navigateur plus avancé que Mosaic - en particulier, il supportait les cadres. Les serveurs Web ont vérifié que l'agent utilisateur contenait le mot Mozilla et envoyé des pages contenant des cadres aux navigateurs Mozilla. Aux autres navigateurs, les serveurs Web envoyaient les anciennes pages sans cadres.

    Finalement, Internet Explorer de Microsoft est arrivé et il supportait aussi les cadres. Cependant, IE n'a pas reçu de pages Web avec des cadres, car les serveurs Web les ont simplement envoyées aux navigateurs Mozilla. Pour résoudre ce problème, Microsoft a ajouté le mot Mozilla à son agent utilisateur et ajouté des informations supplémentaires (le mot «compatible» et une référence à IE.) Les serveurs Web étaient ravis de voir le mot Mozilla et envoyaient à IE les pages Web modernes. Les autres navigateurs qui sont venus plus tard ont fait la même chose.

    Finalement, certains serveurs ont cherché le mot Gecko - le moteur de rendu de Firefox - et ont servi des pages de navigateurs Gecko différentes de celles des navigateurs plus anciens. KHTML - développé à l'origine pour Konquerer sur le bureau KDE de Linux - a ajouté les mots «comme Gecko» afin que les pages modernes conçues pour Gecko soient également disponibles. WebKit était basé sur KHTML - lors de son développement, ils ont ajouté le mot WebKit et ont conservé la ligne originale "KHTML, comme Gecko" à des fins de compatibilité. De cette manière, les développeurs de navigateurs continuaient d'ajouter des mots à leurs agents utilisateurs au fil du temps..

    Les serveurs Web ne se soucient pas vraiment de la chaîne exacte de l'agent utilisateur - ils vérifient simplement si elle contient un mot spécifique.

    Les usages

    Les serveurs Web utilisent des agents d'utilisateur à diverses fins, notamment:

    • Servir différentes pages Web à différents navigateurs Web. Cela peut être utilisé à bon escient, par exemple pour afficher des pages Web plus simples pour des navigateurs plus anciens, ou mal, par exemple, pour afficher un message «Cette page Web doit être affichée dans Internet Explorer».
    • Affichage de différents contenus sur différents systèmes d'exploitation - par exemple, en affichant une page réduite sur des appareils mobiles.
    • Collecte de statistiques montrant les navigateurs et les systèmes d'exploitation utilisés par leurs utilisateurs. Si vous voyez des statistiques sur les parts de marché des navigateurs, voici comment elles sont acquises..

    Les robots d'exploration de sites Web utilisent également des agents utilisateurs. Par exemple, le robot Web de Google s'identifie comme suit:

    Googlebot / 2.1 (+ http: //www.google.com/bot.html)

    Les serveurs Web peuvent accorder un traitement spécial aux robots, par exemple en leur permettant de passer par des écrans d'inscription obligatoires. (Oui, cela signifie que vous pouvez parfois contourner les écrans d'enregistrement en définissant votre agent utilisateur sur Googlebot.)

    Les serveurs Web peuvent également donner des ordres à des robots spécifiques (ou à tous les robots) à l'aide du fichier robots.txt. Par exemple, un serveur Web peut dire à un bot spécifique de s'en aller ou à un autre bot de n'indexer que certaines zones du site. Dans le fichier robots.txt, les robots sont identifiés par leurs chaînes d'agent utilisateur.


    Tous les principaux navigateurs contiennent des méthodes permettant de définir des agents d'utilisateur personnalisés, afin que vous puissiez voir quels serveurs Web envoient à différents navigateurs. Par exemple, définissez votre navigateur de bureau sur la chaîne d'agent utilisateur du navigateur mobile et les versions mobiles des pages Web s'affichent sur votre bureau..