¿Por qué los agentes de usuario de todos los navegadores comienzan con "Mozilla /"?

211

Las cadenas de agentes de usuario de todos los navegadores populares, incluso las de Internet Explorer, comienzan con Mozilla/. ¿Por qué es este el caso?

Sashaeve
fuente
2
Los agentes de usuario se han utilizado para decirle a los servidores web " No soy una basura al azar; Yo también compatible con las funciones que éstos apoyo. Por favor, no me discriminen ". De ahí el agente de usuario de un navegador que tiene todos los demás en él.
Константин Ван

Respuestas:

286

Es una historia larga y triste .

En resumen:

  1. Se lanza el navegador Mozilla, con User-Agent Mozilla/1.0 (Win3.1). Se renombra públicamente a Netscape, pero en su User-Agent mantiene su nombre original.
  2. Se lanza Internet Explorer. Falsifica a Netscape al iniciar su User-Agent Mozilla/porque los servidores web rutinariamente rastrean y sirven páginas con marcos, una característica compatible con Netscape e IE, pero no con otros navegadores de la época, solo para Netscape.
  3. Con el tiempo, Gecko, Konqueror, Opera, Safari y Chrome deciden engañar de manera similar al Agente de usuario de algún navegador anterior para manipular las páginas web de rastreo del navegador para que comprendan correctamente las características de su navegador. Como parte de esta suplantación de identidad, todos los navegadores comienzan con sus User-Agents Mozilla/, como lo hicieron los navegadores anteriores. También resultan muchas otras tonterías, como el moderno Agente de usuario de Chrome que simultáneamente afirma ser Mozilla, Chrome, Safari y 'como Gecko'.
Jason Creighton
fuente
18
Tenga en cuenta que "Mozilla" aquí no es el proyecto de código abierto actual de ese nombre, sino el nombre en código original de Netscape, que se cree que se refiere a "Mosaic Killer". El nombre en clave se reutilizó muchos años después para el proyecto de código abierto, cuyo motor de representación es el "Gecko" mencionado aquí.
IMSoP
75
Y aquí estamos en 2015, todavía perpetuando la estupidez. La cadena de agente de usuario de MS Edge es 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
No es de extrañar que sea difícil detectar el navegador, ¡todos fingen ser el uno para el otro!
Zarzaparrilla
3
Las guerras del navegador no estuvieron exentas de víctimas.
Pikamander2
11
Si userAgentString es un desastre, entonces, ¿por qué no está desaprobado y / o eliminado?
Melvin Abraham
10

Como mencionó @Jason "Es una larga historia". Resumiendo esa historia "es solo que cada navegador finge ser Mozilla"

Después de probar todo, finalmente he usado: http://www.useragentstring.com/

Puede usar el sitio web anterior para obtener el agente de usuario y el sistema operativo formateados.
Tienen una API que puedes usar directamente ...

Abhishek Goel
fuente
1
Corrección pedante: todos los navegadores, incluido Mozilla, fingen ser Netscape, cuyo agente de usuario comenzó Mozilla. El hecho de que el nombre en clave se haya reutilizado solo aumenta la confusión.
IMSoP
Sin embargo, la base de código de Mozilla y Firefox fue originalmente parte de Netscape. Es por eso que muchas de las API internas de Firefox tienen "ns" como prefijo.
Lie Ryan
2

Porque así es como se identificó Netscape, y Microsoft quería trabajar con sitios que detectarían Netscape y rechazarían cualquier otra cosa.

billpg
fuente
1

La razón de esto son las guerras infames del navegador .

En resumen, los navegadores comenzaron a pretender ser otro navegador, porque algunos sitios web mostraban contenido en función de qué navegador lo solicitaba y también querían contenido para otros navegadores.

Me parece sorprendente que todavía no se haya resuelto hasta el día de hoy. Dado userAgentque no se puede eliminar de forma segura por motivos heredados, ¿por qué no se introdujo alguna nueva característica que identifique claramente un navegador? Sí, la mayoría de las veces no necesita la detección del navegador, sino una detección de características, ¡pero tampoco está integrado en JS!

lote
fuente
0

Mozilla / 5.0 es el token general que dice que el navegador es compatible con Mozilla, y es común a casi todos los navegadores en la actualidad. para más detalles haga clic aquí

Pankaj Chauhan
fuente
2
Esto es un poco engañoso: tenga en cuenta que el "Mozilla" al que se hace referencia en realidad es el navegador Mozilla (asesino de mosaicos), que se renombró a Netscape antes del lanzamiento (y que la mayoría de los lectores probablemente nunca hayan oído por su nombre original), no Mozilla, la comunidad de software libre sin fines de lucro que todavía existe en la actualidad.
Mark Amery