Por que os agentes de todos os navegadores começam com "Mozilla /"?

210

Todas as sequências de agentes de usuários de navegadores populares, inclusive o Internet Explorer, começam com Mozilla/. Por que esse é o caso?

sashaeve
fonte
2
Os agentes de usuários foram usados ​​para informar aos servidores da Web “ Eu não sou uma porcaria aleatória; Eu também apoio recursos que estes suportam. Por favor, não me discrimine. Daí o agente usuário de um navegador ter todos os outros nele.
Константин Ван

Respostas:

285

É uma história longa e triste .

Em suma:

  1. O navegador Mozilla é lançado, com User-Agent Mozilla/1.0 (Win3.1). Ele é renomeado publicamente para Netscape, mas em seu User-Agent, ele mantém seu nome original.
  2. Internet Explorer é lançado. Ele falsifica o Netscape iniciando seu User-Agent Mozilla/porque os servidores da Web rotineiramente farejavam o navegador e exibiam páginas com frames - um recurso suportado pelo Netscape e IE, mas não por outros navegadores da época - apenas para o Netscape.
  3. Com o tempo, o Gecko, o Konqueror, o Opera, o Safari e o Chrome decidem, de maneira semelhante, falsificar o User-Agent de algum navegador anterior, a fim de manipular as páginas da Web que detectam o navegador para entender corretamente os recursos do navegador. Como parte dessa falsificação, todos os navegadores iniciam seus User-Agents Mozilla/, como os navegadores anteriores. Muitas outras bobagens também resultam, como o User-Agent do Chrome moderno que afirma ser Mozilla, Chrome, Safari e 'como Gecko'.
Jason Creighton
fonte
18
Observe que o "Mozilla" aqui não é o projeto de código aberto atual com esse nome, mas o codinome original do Netscape, que se refere a "Mosaic Killer". O codinome foi reutilizado muitos anos depois para o projeto de código aberto, cujo mecanismo de renderização é o "Gecko" mencionado aqui.
IMSoP 05/02
75
E aqui estamos em 2015, ainda perpetuando a estupidez. A sequência do agente do usuário do MS Edge é 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
Não é à toa que é difícil fazer a detecção do navegador, todos estão fingindo um ao outro!
Sarsaparilla 14/11
3
As guerras dos navegadores não ocorreram sem baixas.
Pikamander2
11
Se userAgentString é uma bagunça, então, por que não é preterido e / ou removido?
Melvin Abraham
29

Eu acho que tinha a ver com: http://en.wikipedia.org/wiki/User_agent#User_agent_spoofing

Nos primeiros dias, o Netscape (código denominado Mozilla) era o principal rival do IE, e eles queriam evitar serem rejeitados por sites que rejeitavam navegadores que não o Netscape.

Mike Mu
fonte
10

Como mencionado por Jason "É uma longa história". Resumindo essa história, "todo navegador finge ser Mozilla"

Depois de tentar de tudo, finalmente usei: http://www.useragentstring.com/

Você pode usar o site acima para obter o agente do usuário e o SO formatados.
Eles têm uma API que você pode usar diretamente ...

Abhishek Goel
fonte
1
Correção pedante: todo navegador, incluindo o Mozilla, finge ser o Netscape, cujo agente usuário iniciou o Mozilla. O fato de o nome de código ter sido reutilizado apenas aumenta a confusão.
IMSoP 05/02
A base de código Mozilla e Firefox era originalmente parte do Netscape. É por isso que muitas das APIs internas do Firefox têm "ns" como prefixo.
Lie Ryan
2

Porque foi assim que o Netscape se identificou, e a Microsoft queria trabalhar com sites que detectassem o Netscape e rejeitassem qualquer outra coisa.

billpg
fonte
1

Razão para isso são as infames guerras de navegadores .

Em resumo, os navegadores começaram a fingir ser outro navegador, porque alguns sites exibiam conteúdo com base em qual navegador solicitava e também queriam conteúdo destinado a outros navegadores.

Acho surpreendente que ainda não tenha sido resolvido até hoje. Como userAgentnão pode ser removido com segurança por motivos herdados, por que um novo recurso que identifica claramente um navegador não foi introduzido? Sim, na maioria das vezes você não precisa de detecção do navegador, mas sim de um recurso, mas também não é um JS embutido!

muitos
fonte
0

Mozilla / 5.0 é o token geral que diz que o navegador é compatível com o Mozilla e é comum a quase todos os navegadores hoje em dia. para mais detalhes clique aqui

Pankaj Chauhan
fonte
2
Isso é um pouco enganador - observe que o "Mozilla" mencionado é realmente o navegador Mozilla (matador de mosaicos), que foi renomeado para Netscape antes do lançamento (e que a maioria dos leitores provavelmente nunca ouviu falar pelo nome original) - não Mozilla, a comunidade de software livre sem fins lucrativos que ainda existe hoje.
Mark Amery