Le User Agent

Comme vous avez du le remarquer, le User Agent est une chaine alphanumérique contenant des informations sur votre navigateur, votre système d'exploitation et les patchs logiciels important ajoutés (le framework Dot Net pour ne citer que lui). Mais allons plutôt dans l'anecdote...

A des moments divers de son histoire, l'utilisation du Web a été dominée par un navigateur dans la mesure où beaucoup de sites ont été conçus pour fonctionner avec celui-ci en particulier, plutôt que de suivre les normes tels que celles du W3C et de l'IETF.

Au niveau du code de ces sites, se situe une partie qui est dédiée à la détection du navigateur. En fonction de ce que renvoie cette partie, le site retourne du contenu différent, souvent plus pauvre, moins complexe aux navigateurs moins populaires alors qu'ils pourraient traiter celui-ci correctement. Dans des cas extrêmes, il existe aussi des sites complètement inaccessibles.

Pour contrer ces pratiques, les divers navigateurs ont masqué ou détourné la chaîne, afin de s'identifier comme autre chose au niveau du code de détection ; souvent, la vraie identité du navigateur est incluse plus loin dans la chaîne.

L'exemple le plus vieux est celui de Internet Explorer qui utilise une chaîne User-Agent commençant par "Mozilla/ (compatible; MSIE ...", afin de recevoir le contenu destiné à Netscape Navigator, son rival principal au début de son développement. On doit noter qu'il ne s'agit pas d'une référence au navigateur Mozilla Open Source, qui a été développé beaucoup plus tard, mais au nom de code original pour le navigateur, qui était également le nom de la mascotte de la société Netscape. Ce format de chaîne User-Agent a été depuis copié par d'autres, en partie parce que Internet Explorer est devenu à son tour, le navigateur dominant.

Opera et Safari, des rivaux de Internet Explorer ont alors mis en place des systèmes où l'utilisateur peut choisir une fausse chaîne User-Agent pour l'envoyer. Certains, par exemple comme Safari, reproduisent entièrement la chaîne User-Agent ; d'autres, comme Opera reproduisent la chaîne User-Agent mais ajoutent le véritable nom du navigateur à son extrémité. Cette dernière approche, naturellement, mène à une chaîne contenant trois noms et versions : En premier, la chaîne User-Agent prétend être "Mozilla" (Netscape Navigator) ; puis MSIE (Internet Explorer) et finalement le véritable navigateur "Opera".

A part les navigateurs, d'autres programmes utilisant le protocole HTTP, comme les outils de téléchargement ou les navigateurs en mode différé, ont la capacité de changer la chaîne User-Agent envoyée aux serveurs. Ceci pour être accepté par des serveurs qui refusaient de servir ces programmes tout de suite, ou pas du tout parce qu'ils sont la plupart du temps considérés comme responsable de la surcharge.

Ce cercle vicieux n'est pas près de s'arrêter dans le domaine des navigateurs Web. Quelques développeurs utilisant les standards ont commencés une campagne intitulée "Viewable With Any Browser" pour encourager les créateurs de page Web à respecter les standards officiels, et pas les particularités des navigateurs.

En 2005, beaucoup de sites Web sont devenus plus conformes aux normes qu'auparavant.

Un résultat de la mystification de la chaîne User-Agent est que la part de marché des navigateurs comme Opera et Safari est souvent minimisée, alors que la part de marché des navigateurs plus populaires comme Mozilla Firefox et Internet Explorer est souvent exagérée.