Chaîne de l'agent utilisateur Microsoft Edge

11

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 a-t-il Mozilla, Chrome et Safari, et pas seulement Edge?

PulseJet
la source

Réponses:

4

Alors pourquoi contient-il Mozilla, Chrome et Safari, et pas seulement Edge?

Les concepteurs de pages Web sont tout 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.

Il s'agit également d'une décision de conception délibérée visant à limiter l'utilité des contrôles utilisateur-agent. Cette décision, probablement basée sur le fait (du point de vue des développeurs Spartan / Edge), est que dans le passé, les sites Web recherchaient spécifiquement IE et informaient les utilisateurs d'utiliser un navigateur différent.

Étant donné qu'Edge / Spartan était la première tentative de Microsoft pour moderniser le moteur Trident et que l'objectif d'Edge / Spartan était de faire correspondre l'ensemble des fonctionnalités de (Blink, AppleWebKit et Gecko) à l'époque, l'agent utilisateur se annonçant simplement comme étant tout est à sens unique pour empêcher les concepteurs de pages Web de cibler facilement Edge de la même manière qu'ils ciblaient IE.

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

Il y a aussi un problème avec le défilement saccadé qui ne disparaît pas pour certains sites Web même après avoir désactivé le défilement fluide, et il y a des cas où des éléments importants ne s'affichent pas car une page Web identifie votre navigateur comme IE.

Le nouveau moteur Spartan de Microsoft se masque comme Chrome

Chrome et Firefox font également quelque chose de similaire:

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

Il convient de souligner que l'agent utilisateur d'IE11 est similaire:

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

Modifications de chaîne d'agent utilisateur

Ramhound
la source
2

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 fait semblant d'utiliser WebKit. Et Webkit prétendait être KHTML, et KHTML prétendait être Gecko. Et la confusion abondait excessivement sur le visage du Web.

Tiré de Quel est le nom de chaîne de l'agent 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 rapporté 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 se fait exprès.

Vous remarquerez également que la chaîne entière se termine par «Edge / 12.0», ce que Chrome ne fait pas.

Je dois souligner que ce n'est pas une dérogation par rapport à ce que Microsoft a 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 Publier.

Qu'est-ce que l'agent utilisateur reniflant?

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

Servir différentes pages Web ou services à différents navigateurs est généralement une mauvaise idée. Le Web est destiné à être accessible à tous, quel que soit le navigateur ou l'appareil qu'ils utilisent. 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 qu'en ciblant des navigateurs spécifiques.

Voici un excellent article expliquant l'historique de l'agent utilisateur.

Souvent, les développeurs paresseux reniflent simplement la chaîne UA et désactivent le contenu de leur site Web en fonction du navigateur qu'ils croient que le spectateur utilise. Internet Explorer 8 est un point de frustration courant pour les développeurs, ils vérifieront donc fréquemment si un utilisateur utilise N'IMPORTE QUELLE version d'IE et désactiveront les fonctionnalités.

L'équipe Edge le détaille encore plus sur son blog.

Toutes les chaînes d'agents utilisateurs contiennent plus d'informations sur les autres navigateurs que le navigateur réel que vous utilisez - pas seulement des jetons, mais aussi des numéros de version «significatifs».

Chaîne UA d'Internet Explorer 11:

Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 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 à juste titre comme «un paquet de mensonges toujours croissant» par Patrick H. Lauke dans les discussions du W3C. («Ou plutôt, un acte d'équilibrage consistant à ajouter suffisamment de mots-clés hérités qui ne laisseront pas immédiatement tomber l'ancien code UA-sniffing, 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 renifler UA; les fonctionnalités modernes de la plateforme Web sont presque toutes détectables de manière simple. Par exemple, la bibliothèque Modernizr est un moyen fantastique et simple de détecter des fonctionnalités.

Au cours de la dernière année, nous avons vu des sites reniflant UA qui ont été mis à jour pour détecter Microsoft Edge… uniquement pour lui fournir un chemin de code IE11 hérité. Ce n'est pas la meilleure approche, car Microsoft Edge correspond aux comportements 'WebKit', pas aux comportements IE11 (toutes les différences Edge-WebKit sont des bogues que nous souhaitons corriger).

D'après notre expérience, Microsoft Edge fonctionne mieux sur les chemins de code «WebKit» de ces sites. De plus, avec Internet devenant disponible sur une plus grande variété d'appareils, veuillez supposer que les navigateurs inconnus sont bons - veuillez ne pas limiter votre site à fonctionner uniquement sur un petit ensemble de navigateurs connus. Si vous faites cela, votre site se cassera certainement à l'avenir.

Conclusion

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

Tiré de Quel est le nom de chaîne de l'agent utilisateur pour Microsoft Edge? réponse de Dave Voyles .

Hex
la source
Argh ... Il ne m'est pas venu à l'esprit de chercher ceci sur stackoverflow. Merci quand même!
PulseJet