web-dev-qa-db-fra.com

Chaîne de l'agent utilisateur Microsoft Edge

Je viens de remarquer que, bien que tous les autres navigateurs semblent avoir leurs propres chaînes d'agent utilisateur, Microsoft Edge semble ressembler à ceci:

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

Pourquoi y a-t-il Mozilla, Chrome et Safari, et pas seulement Edge?

9
PulseJet

Alors pourquoi y a-t-il Mozilla, Chrome et Safari, et pas seulement Edge?

Les concepteurs de pages Web sont simplement paresseux et tentent d'empêcher les visiteurs d'utiliser des navigateurs spécifiques, car ils souhaitent utiliser le cadre plus simple, qui n'est pris en charge que par certains navigateurs.

C'est également une décision de conception délibérée de limiter l'utilité des vérifications agent-utilisateur. Cette décision, probablement basée sur le fait (du point de vue de Spartan/Edge Developers), est que par le passé, les sites Web recherchaient spécifiquement IE et avertissaient les utilisateurs d'utiliser un navigateur différent.

Comme Edge/Spartan était la première tentative de Microsoft de moderniser le moteur Trident et que son objectif était de faire correspondre l'ensemble des fonctionnalités de (Blink, AppleWebKit et Gecko) à ce moment-là, l'agent utilisateur se vantait simplement de tout. pour empêcher les concepteurs de pages Web de cibler facilement Edge de la même manière qu'ils ciblaient Internet Explorer.

De nombreux sites Web que vous visitez aujourd'hui ne s'affichent pas bien dans IE car ils ne sont pas codés correctement et affichent généralement une page comme dans un ancien navigateur, même si Internet Explorer 11 prend en charge de nombreuses nouvelles normes Web. Certaines pages ne s'afficheront pas correctement dans IE et fonctionneront parfaitement sur d'autres navigateurs tels que Chrome ou Firefox.

Il existe également un problème de défilement saccadé qui ne disparaît pas pour certains sites Web même après que vous ayez désactivé le défilement régulier. Il est également possible que des éléments importants ne s'affichent pas car une page Web identifie votre navigateur comme étant IE.

Le nouveau moteur Spartan de Microsoft se masque en tant que Chrome

Chrome et Firefox font aussi quelque chose de similaire:

Mozilla/5.0 (Windows NT X.Y; WOW64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/50.0.2657.0 Safari/537.36, gzip (gfe), gzip (gfe) "

Il est intéressant de noter que l'agent utilisateur d'IE11 est similaire:

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

Modification de la chaîne utilisateur-agent

3
Ramhound

Edge prétendait être Chrome et Chrome prétendait être Safari, et Safari prétendait être Mozilla. Et Edge a utilisé EdgeHTML mais ne l'a pas révélé, et Chrome a utilisé Blink, mais ne l'a pas révélé, mais Chrome a prétendu utiliser WebKit. Et Webkit a prétendu être KHTML et KHTML a prétendu être Gecko. Et la confusion régnait excessivement sur le visage de la toile.

Tiré de Quel est le nom de la chaîne d'agent d'utilisateur pour Microsoft Edge? commentaire de Claude

Chaîne Microsoft Edge UA:

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

Je détaille pourquoi dans cet article de blog.

Neowin a récemment annoncé que le nouveau navigateur de Microsoft pour Windows 10, Spartan, utilise la chaîne Chrome UA, "Mozilla/5.0 (Windows NT 10.0; WOW64), AppleWebKit/537.36 (KHTML, comme Gecko). Chrome/39.0.2171.71 Safari /537.36 Edge/12.0 " Cela est fait exprès.

Vous remarquerez également que toute la chaîne se termine par "Edge/12.0", ce que Chrome ne fait pas.

Je dois souligner que ce n’est pas un changement radical par rapport à ce que Microsoft avait fait avec IE 11, qui sous Windows 8 se lit comme suit: Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv: 11.0), comme Gecko, comme expliqué dans ce post.

Qu'est-ce que l'agent utilisateur détecte?

Souvent, les développeurs Web recherchent un UA pour la détection du navigateur. Mozilla l'explique bien sur son blog:

Servir différentes pages Web ou services à différents navigateurs est généralement une mauvaise idée. Le Web doit être accessible à tous, quel que soit le navigateur ou le périphérique utilisé. Il existe des moyens de développer votre site Web pour s’améliorer progressivement en fonction de la disponibilité des fonctionnalités plutôt que de cibler des navigateurs spécifiques.

Voici un excellent article expliquant l’historique de l’agent d’utilisateur.

Souvent, les développeurs paresseux détectent simplement la chaîne d'agent utilisateur et désactivent le contenu de leur site Web en fonction du navigateur qu'ils pensent que le spectateur utilise. Internet Explorer 8 étant un point commun de frustration pour les développeurs, ceux-ci vérifient fréquemment si un utilisateur utilise N'IMPORTE QUELLE version d'IE, et désactivent des fonctionnalités.

L’équipe Edge précise le détail de son blog.

Toutes les chaînes d’agent utilisateur contiennent plus d’informations sur les autres navigateurs que le navigateur que vous utilisez actuellement - pas seulement des jetons, mais également des numéros de version "significatifs".

Chaîne d'UA d'Internet Explorer 11:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; vr: 11.0) comme Gecko

Chaîne Microsoft Edge UA:

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

La propriété userAgent a été décrite avec justesse comme "un paquet de mensonges toujours croissant" par Patrick H. Lauke dans les discussions sur le W3C. ("Ou plutôt, un problème d'équilibre consistant à ajouter suffisamment de mots clés classiques qui ne laisseront pas immédiatement tomber l'ancien code de détection d'UA, tout en essayant de transmettre un peu d'informations réellement utiles et précises.")

Nous recommandons aux développeurs Web d’éviter autant que possible de renoncer à l’UA; les fonctionnalités modernes de la plate-forme Web sont presque toutes détectables facilement. Par exemple, la bibliothèque Modernizr est un moyen simple et fantastique de détecter des entités.

Au cours de l’année écoulée, certains sites de détection d’UA ont été mis à jour pour détecter Microsoft Edge… uniquement dans le but de lui fournir un chemin de code IE11 hérité. Ce n’est pas la meilleure approche, car Microsoft Edge correspond aux comportements ‘WebKit’, et non aux comportements IE11 (toute différence entre Edge et WebKit est un bogue que nous souhaitons corriger).

Selon notre expérience, Microsoft Edge fonctionne mieux sur les chemins de code "WebKit" de ces sites. En outre, Internet devenant disponible sur une plus grande variété de périphériques, supposez que les navigateurs inconnus sont bons. Ne limitez pas votre site à un fonctionnement limité sur un petit nombre de navigateurs connus. Si vous faites cela, votre site va probablement casser à l'avenir.

Conclusion

En présentant la chaîne Chrome UA, nous pouvons contourner les astuces que ces développeurs utilisent pour présenter aux utilisateurs la meilleure expérience possible.

Tiré de Quel est le nom de la chaîne d'agent d'utilisateur pour Microsoft Edge? , répondez par Dave Voyles .

1
Hex