Cadeia do Microsoft Edge User Agent

11

Acabei de notar que, embora todos os outros navegadores pareçam ter suas próprias seqüências de agentes de usuário, o Microsoft Edge parece algo parecido com isto:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393

Por que possui o Mozilla, Chrome e Safari, e não apenas o Edge?

PulseJet
fonte

Respostas:

4

Então, por que tem o Mozilla, Chrome e Safari, e não apenas o Edge?

Os designers de páginas da Web são simplesmente preguiçosos e tentam impedir que os visitantes usem navegadores específicos, porque desejam usar a estrutura mais fácil, suportada apenas por determinados navegadores.

Também é uma decisão deliberada do projeto limitar a utilidade das verificações do agente do usuário. Essa decisão provavelmente baseada no fato (da perspectiva da Spartan / Edge Developers) é que, no passado, os sites procuravam especificamente o IE e notificavam os usuários a usar um navegador diferente.

Como o Edge / Spartan foi a primeira tentativa da Microsoft de modernizar o mecanismo Trident, e o objetivo do Edge / Spartan era corresponder ao conjunto de recursos (Blink, AppleWebKit e Gecko) da época, o agente do usuário simplesmente se anunciava como se tudo fosse uma maneira. para impedir que os designers de páginas da Web segmentem facilmente o Edge da mesma forma que o IE.

Muitos sites que você visita hoje não são exibidos corretamente no IE porque não são codificados corretamente e geralmente exibem uma página como exibiriam em um navegador antigo, mesmo que o Internet Explorer 11 ofereça suporte a muitos dos novos padrões da web. Algumas páginas serão exibidas incorretamente no IE enquanto funcionam perfeitamente em outros navegadores, como Chrome ou Firefox.

Há também um problema com a rolagem brusca que não desaparece em alguns sites, mesmo depois que você desativa a rolagem suave, e há casos em que elementos importantes não serão exibidos porque uma página da web identifica seu navegador como IE.

O novo mecanismo Spartan da Microsoft se mascara como Chrome

Chrome e Firefox também fazem algo semelhante:

Mozilla / 5.0 (Windows NT XY; WOW64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 50.0.2657.0 Safari / 537.36, gzip (gfe), gzip (gfe) "

Vale ressaltar que o agente do IE11 é semelhante:

Mozilla / 5.0 (Windows NT 10.0; WOW64; Trident / 7.0; rv: 11.0) como Gecko

Alterações na sequência do agente do usuário

Ramhound
fonte
2

Edge fingia ser Chrome, e Chrome fingia ser Safari, e Safari fingia ser Mozilla. E o Edge usou o EdgeHTML, mas não o revelou, e o Chrome usou o Blink, mas não o revelou, mas o Chrome fingiu usar o WebKit. E o Webkit fingiu ser KHTML, e o KHTML fingiu ser Gecko. E confusão abundou excessivamente na face da web.

Retirado de Qual é o nome da string do User Agent para o Microsoft Edge? comentado por Claude

String do Microsoft Edge UA:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

Eu detalho o porquê nesta postagem no blog.

Neowin relatou recentemente que o novo navegador da Microsoft para Windows 10, Spartan, usa a string Chrome UA, “Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 ″. Isso é feito de propósito.

Você também notará que a sequência inteira termina com "Edge / 12.0", o que o Chrome não.

Devo salientar que essa não é uma partida redical do que a Microsoft fez com o IE 11, que no Windows 8 diz: Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) como o Gecko, conforme explicado neste artigo. postar.

O que é o agente do usuário cheirando?

Freqüentemente, os desenvolvedores da Web farão o UA farejar para detecção do navegador. A Mozilla explica bem em seu blog:

Servir diferentes páginas da Web ou serviços para diferentes navegadores geralmente é uma má idéia. A Web deve ser acessível a todos, independentemente de qual navegador ou dispositivo eles estejam usando. Existem maneiras de desenvolver seu site para melhorar-se progressivamente com base na disponibilidade de recursos, em vez de direcionar navegadores específicos.

Aqui está um ótimo artigo explicando a história do User Agent.

Frequentemente, desenvolvedores preguiçosos apenas farejam a string UA e desabilitam o conteúdo em seu site com base no navegador que acreditam que o visualizador está usando. O Internet Explorer 8 é um ponto de frustração comum para os desenvolvedores; portanto, eles freqüentemente verificam se um usuário está usando QUALQUER versão do IE e desativam os recursos.

A equipe do Edge detalha isso ainda mais em seu blog.

Todas as sequências de agentes de usuário contêm mais informações sobre outros navegadores do que o navegador real que você está usando - não apenas tokens, mas também números de versão "significativos".

Cadeia de caracteres UA do Internet Explorer 11:

Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) como Gecko

String do Microsoft Edge UA:

Mozilla / 5.0 (Windows NT 10.0) AppleWebKit / 537.36 (KHTML, como Gecko) Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

A propriedade userAgent foi adequadamente descrita como "um crescente pacote de mentiras" por Patrick H. Lauke nas discussões do W3C. ("Ou melhor, um ato de equilibrar a adição de palavras-chave legadas suficientes que não façam cair imediatamente o código antigo de detecção de UA, enquanto ainda tentam transmitir um pouco de informações realmente úteis e precisas".)

Recomendamos que os desenvolvedores da Web evitem o farejamento de UA o máximo possível; os recursos modernos da plataforma web são quase todos detectáveis ​​de maneiras fáceis. Por exemplo, a biblioteca Modernizr é uma maneira fantástica e simples de detectar recursos.

No ano passado, vimos alguns sites de detecção de UA que foram atualizados para detectar o Microsoft Edge ... apenas para fornecer um caminho de código IE11 legado. Essa não é a melhor abordagem, pois o Microsoft Edge corresponde aos comportamentos 'WebKit', não aos comportamentos do IE11 (quaisquer diferenças no Edge-WebKit são erros que estamos interessados ​​em corrigir).

De acordo com nossa experiência, o Microsoft Edge funciona melhor nos caminhos de código 'WebKit' nesses sites. Além disso, com a Internet disponível em uma variedade maior de dispositivos, suponha que navegadores desconhecidos sejam bons - não limite seu site a trabalhar apenas em um pequeno conjunto de navegadores conhecidos atuais. Se você fizer isso, seu site quase certamente será interrompido no futuro.

Conclusão

Ao apresentar a string do Chrome UA, podemos solucionar os hacks que esses desenvolvedores estão usando, para apresentar a melhor experiência aos usuários.

Retirado de Qual é o nome da string do User Agent para o Microsoft Edge? resposta por Dave Voyles .

Hex
fonte
Argh ... Não me ocorreu pesquisar isso no stackoverflow. Obrigado mesmo assim!
precisa saber é o seguinte