Cadeia de caracteres do agente do usuário do Microsoft Edge

Cadeia de caracteres do agente do usuário do Microsoft Edge

Acabei de notar que, embora todos os outros navegadores pareçam ter suas próprias strings de agente de usuário, o do Microsoft Edge parece algo assim:

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 Mozilla, Chrome e Safari, e não apenas Edge?

Responder1

Então, por que ele contém Mozilla, Chrome e Safari, e não apenas Edge?

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

Também é uma decisão de design deliberada limitar a utilidade das verificações do agente do usuário. Esta 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 para usarem 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 sendo tudo de uma maneira para evitar que os designers de páginas da Web direcionem facilmente o Edge da mesma forma que direcionaram o IE.

Muitos sites que você visita hoje não serão exibidos bem no IE porque não são codificados corretamente e geralmente exibem uma página como fariam em um navegador antigo, embora o Internet Explorer 11 suporte 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 de rolagem irregular que não desaparece em alguns sites, mesmo depois de você desativar 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 disfarça 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 user agent do IE11 é semelhante:

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

Alterações na string do agente do usuário

Responder2

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

Tirado deQual é o nome da string do agente do usuário para Microsoft Edge?comentar porCláudio

Sequência de UA do Microsoft Edge:

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 do 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 string inteira termina com “Edge/12.0″, o que o Chrome não termina.

Devo salientar que este não é um desvio radical 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 Gecko, conforme explicado neste publicar.

O que é a detecção do User Agent?

Freqüentemente, os desenvolvedores da web farejarão a detecção do navegador. Mozilla explica isso bem em seu blog:

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

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

Freqüentemente, os desenvolvedores preguiçosos apenas farejam a string UA e desabilitam o conteúdo de seus sites com base no navegador que acreditam que o visualizador está usando. O Internet Explorer 8 é um ponto comum de frustração para os desenvolvedores, por isso eles verificam frequentemente se um usuário está usando QUALQUER versão do IE e desabilitam recursos.

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

Todas as strings 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”.

String UA do Internet Explorer 11:

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

Sequência de UA do Microsoft Edge:

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 apropriadamente descrita como “um pacote cada vez maior de mentiras” por Patrick H. Lauke nas discussões do W3C. (“ou melhor, um ato de equilíbrio de adicionar palavras-chave legadas suficientes que não farão com que o código antigo de detecção de UA caia imediatamente, enquanto ainda tenta transmitir um pouco de informação realmente útil e precisa.”)

Recomendamos que os desenvolvedores web evitem detectar UA tanto quanto possível; os recursos modernos da plataforma web são quase todos detectáveis ​​de maneira fácil. Por exemplo, oModernizarbiblioteca é 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 a ele um caminho de código legado do IE11. Esta não é a melhor abordagem, pois o Microsoft Edge corresponde aos comportamentos do 'WebKit', não aos comportamentos do IE11 (quaisquer diferenças do Edge-WebKit são bugs que estamos interessados ​​em corrigir).

Em nossa experiência, o Microsoft Edge funciona melhor nos caminhos de código ‘WebKit’ nesses sites. Além disso, com a Internet se tornando disponível em uma variedade maior de dispositivos, presuma que navegadores desconhecidos são bons – não limite seu site a funcionar apenas em um pequeno conjunto de navegadores atuais conhecidos. Se você fizer isso, é quase certo que seu site irá quebrar no futuro.

Conclusão

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

Tirado deQual é o nome da string do agente do usuário para Microsoft Edge?responder porDavid Voyles.

informação relacionada