Pourquoi les agents utilisateurs de tous les navigateurs commencent-ils par «Mozilla /»?

211

Les chaînes d'agent utilisateur de tous les navigateurs populaires, même Internet Explorer, commencent par Mozilla/. pourquoi est-ce le cas?

sashaeve
la source
2
Les agents utilisateurs ont été utilisés pour dire aux serveurs Web: « Je ne suis pas une merde aléatoire; Je prends également en charge les fonctionnalités que celles-ci prennent en charge. S'il vous plaît, ne faites pas de discrimination contre moi. » D'où l'agent utilisateur d'un navigateur contenant tous les autres.
Константин Ван

Réponses:

286

C'est une longue et triste histoire .

En résumé:

  1. Le navigateur Mozilla est publié, avec User-Agent Mozilla/1.0 (Win3.1) . Il est renommé publiquement Netscape, mais dans son User-Agent, il conserve son nom d'origine.
  2. Internet Explorer est sorti. Il usurpe Netscape en démarrant son User-Agent avecMozilla/ parce que les serveurs Web reniflaient régulièrement le navigateur et servaient des pages avec des cadres - une fonctionnalité prise en charge à la fois par Netscape et IE, mais pas par les autres navigateurs de l'époque - à Netscape uniquement.
  3. Au fil du temps, Gecko, Konqueror, Opera, Safari et Chrome décident chacun d'usurper de la même manière l'agent utilisateur de certains navigateurs précédents afin de manipuler les pages Web reniflant le navigateur pour comprendre correctement les fonctionnalités de leur navigateur. Dans le cadre de cette usurpation d'identité, tous les navigateurs démarrent leurs User-Agents avec Mozilla/, comme les navigateurs avant eux. Beaucoup d'autres non-sens résultent également, comme l'agent utilisateur de Chrome moderne prétendant simultanément être Mozilla, Chrome, Safari et `` comme Gecko ''.
Jason Creighton
la source
18
Notez que le "Mozilla" ici n'est pas le projet open source actuel de ce nom, mais le nom de code d'origine de Netscape, censé se référer à "Mosaic Killer". Le nom de code a été réutilisé de nombreuses années plus tard pour le projet open source, dont le moteur de rendu est le "Gecko" mentionné ici.
IMSoP
75
Et nous voici en 2015, perpétuant toujours la bêtise. La chaîne d'agent utilisateur de MS Edge est Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.1.
filoxo
18
Pas étonnant qu'il soit difficile de détecter le navigateur, ils font tous semblant d'être les uns les autres!
Salsepareille
3
Les guerres de navigateur n'ont pas été sans victimes.
Pikamander2
11
Si userAgentString est un tel gâchis, alors, pourquoi n'est-il pas obsolète et / ou supprimé?
Melvin Abraham
29

Je pense que cela avait à voir avec: http://en.wikipedia.org/wiki/User_agent#User_agent_spoofing

À ses débuts, Netscape (nom de code Mozilla) était le principal rival d'IE, et ils voulaient éviter d'être rejetés par des sites rejetant des navigateurs autres que Netscape.

Mike Mu
la source
10

Comme mentionné par @Jason "C'est une longue histoire". Pour résumer cette histoire, "tous ses navigateurs prétendent être Mozilla"

Après avoir tout essayé, j'ai finalement utilisé: http://www.useragentstring.com/

Vous pouvez utiliser le site Web ci-dessus pour obtenir l'agent utilisateur et le système d'exploitation formatés.
Ils ont une API que vous pouvez utiliser directement ...

Abhishek Goel
la source
1
Correction pédante: chaque navigateur, y compris Mozilla, prétend être Netscape, dont l'agent utilisateur a commencé Mozilla. Le fait que le nom de code ait été réutilisé ne fait qu'ajouter à la confusion.
IMSoP
La base de code de Mozilla et Firefox faisait cependant partie de Netscape. C'est pourquoi de nombreuses API internes à Firefox ont comme préfixe "ns".
Lie Ryan
2

Parce que c'est ainsi que Netscape s'est identifié, et Microsoft voulait travailler avec des sites qui détecteraient Netscape et rejeteraient quoi que ce soit d'autre.

billpg
la source
1

La raison en est les fameuses guerres des navigateurs .

En bref - les navigateurs ont commencé à prétendre être un autre navigateur, car certains sites Web diffusaient du contenu en fonction du navigateur qui le demandait et ils voulaient également du contenu destiné à d'autres navigateurs.

Je trouve surprenant qu'il n'ait toujours pas été résolu à ce jour. Comme userAgentil ne peut pas être supprimé en toute sécurité pour des raisons héritées, pourquoi une nouvelle fonctionnalité identifiant clairement un navigateur n'a pas été introduite? Oui, la plupart du temps, vous n'avez pas besoin d'une détection de navigateur, mais plutôt d'une détection de fonctionnalités, mais ce n'est pas non plus un JS intégré!

lot
la source
0

Mozilla / 5.0 est le jeton général qui dit que le navigateur est compatible avec Mozilla et est commun à presque tous les navigateurs aujourd'hui. pour plus de détails cliquez ici

Pankaj Chauhan
la source
2
C'est un peu trompeur - notez que le "Mozilla" auquel il est fait référence est en fait le navigateur Mozilla (Mosaic-killer), qui a été rebaptisé Netscape avant sa sortie (et dont la plupart des lecteurs n'ont probablement jamais entendu parler par son nom d'origine) - pas Mozilla, la communauté du logiciel libre à but non lucratif qui existe toujours aujourd'hui.
Mark Amery