Qu'est-ce qu'un agent d'utilisateur de navigateur?

Table des matières:

Qu'est-ce qu'un agent d'utilisateur de navigateur?
Qu'est-ce qu'un agent d'utilisateur de navigateur?

Vidéo: Qu'est-ce qu'un agent d'utilisateur de navigateur?

Vidéo: Qu'est-ce qu'un agent d'utilisateur de navigateur?
Vidéo: Acheter puis REVENDRE un Objet 100x Plus Cher devant le Vendeur - AKHMETOV - YouTube 2024, Avril
Anonim
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 est exactement?
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 est exactement?

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 gâchis au fil du 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. En substance, un agent d’utilisateur est 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 sous Windows 7:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv: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.
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.

Voyons 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 comme Mozilla.
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 comme Mozilla.

Nous y reviendrons dans une minute. Voyons d’abord l’agent utilisateur de Google Chrome:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like 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.
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 supportait aussi les cadres. Cependant, Internet Explorer n'a pas reçu de pages Web contenant 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 recherché 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 - initialement développé 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 - lorsqu’il a été développé, 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.
Finalement, certains serveurs ont recherché 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 - initialement développé 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 - lorsqu’il a été développé, 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 s’intéressent pas vraiment à la chaîne exacte de l’agent d’utilisateur - ils vérifient simplement si elle contient un mot spécifique.

Les usages

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

  • Servir différentes pages Web à différents navigateurs Web. Cela peut être utilisé à bon escient, par exemple, pour servir des pages Web plus simples à des navigateurs plus anciens, ou mal, par exemple, pour afficher un message «Cette page Web doit être affichée dans Internet Explorer».
  • Afficher 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 (+https://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.

Image
Image

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 le navigateur de votre ordinateur de bureau sur la chaîne d’agent utilisateur d’un navigateur mobile et vous verrez les versions mobiles des pages Web sur votre ordinateur de bureau.

Conseillé: