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?
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?
Respostas:
É uma história longa e triste .
Em suma:
Mozilla/1.0 (Win3.1)
. Ele é renomeado publicamente para Netscape, mas em seu User-Agent, ele mantém seu nome original.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.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'.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
.
userAgent
String é uma bagunça, então, por que não é preterido e / ou removido?
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.
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 ...
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 userAgent
nã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!
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