Microsoft Edge User Agent-Zeichenfolge

11

Mir ist gerade aufgefallen, dass alle anderen Browser ihre eigenen Zeichenfolgen für Benutzeragenten zu haben scheinen, die von Microsoft Edge jedoch ungefähr so ​​aussehen:

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

Warum enthält es Mozilla, Chrome und Safari und nicht nur Edge?

PulseJet
quelle

Antworten:

4

Warum enthält es Mozilla, Chrome und Safari und nicht nur Edge?

Webseiten-Designer sind einfach faul und versuchen, Besucher daran zu hindern, bestimmte Browser zu verwenden, da sie das einfachere Framework verwenden möchten, das nur von bestimmten Browsern unterstützt wird.

Es ist auch eine bewusste Entwurfsentscheidung, die Nützlichkeit von Benutzeragentenprüfungen einzuschränken. Diese Entscheidung basiert wahrscheinlich auf der Tatsache (aus Sicht von Spartan / Edge Developers), dass Websites in der Vergangenheit speziell nach IE suchen und Benutzer benachrichtigen, einen anderen Browser zu verwenden.

Da Edge / Spartan der erste Versuch von Microsoft war, die Trident-Engine zu modernisieren, und Edge / Spartan zu diesem Zeitpunkt den Funktionsumfang von (Blink, AppleWebKit und Gecko) erfüllen wollte, wirbt der Benutzeragent einfach dafür, dass alles eine Möglichkeit ist um zu verhindern, dass Webseiten-Designer Edge auf die gleiche Weise wie den IE ansprechen.

Viele Websites, die Sie heute besuchen, werden im Internet Explorer nicht gut angezeigt, da sie nicht richtig codiert sind und normalerweise eine Seite wie in einem alten Browser anzeigen, obwohl Internet Explorer 11 viele der neuen Webstandards unterstützt. Einige Seiten werden im IE falsch angezeigt, während sie in anderen Browsern wie Chrome oder Firefox einwandfrei funktionieren.

Es gibt auch ein Problem mit dem ruckartigen Scrollen, das bei einigen Websites auch nach dem Deaktivieren des reibungslosen Bildlaufs nicht verschwindet. In einigen Fällen werden wichtige Elemente nicht angezeigt, da eine Webseite Ihren Browser als IE identifiziert.

Die neue spartanische Engine von Microsoft maskiert sich als Chrome

Chrome und Firefox machen auch etwas Ähnliches:

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

Es sei darauf hingewiesen, dass der Benutzeragent von IE11 ähnlich ist:

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

Änderungen an der Zeichenfolge des Benutzeragenten

Ramhound
quelle
2

Edge gab vor, Chrome zu sein, und Chrome gab vor, Safari zu sein, und Safari gab vor, Mozilla zu sein. Und Edge verwendete EdgeHTML, enthüllte es jedoch nicht, und Chrome verwendete Blink, enthüllte es jedoch nicht, aber Chrome gab vor, WebKit zu verwenden. Und Webkit gab vor, KHTML zu sein, und KHTML gab vor, Gecko zu sein. Und im Internet herrschte übermäßige Verwirrung.

Entnommen aus Wie lautet der Name der User Agent-Zeichenfolge für Microsoft Edge? Kommentar von Claude

Microsoft Edge UA-Zeichenfolge:

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

Ich erläutere in diesem Blogbeitrag, warum.

Neowin berichtete kürzlich, dass der neue Browser von Microsoft für Windows 10, Spartan, die Chrome UA-Zeichenfolge „Mozilla / 5.0 (Windows NT 10.0; WOW64) AppleWebKit / 537.36 (KHTML, wie Gecko) Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0 verwendet ″. Das wird absichtlich gemacht.

Sie werden auch feststellen, dass die gesamte Zeichenfolge mit "Edge / 12.0" endet, was Chrome nicht tut.

Ich möchte darauf hinweisen, dass dies keine rote Abweichung von dem ist, was Microsoft mit IE 11 gemacht hat, das unter Windows 8 lautet: Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) wie Gecko, wie hier erläutert Post.

Was schnüffelt User Agent?

Häufig schnüffeln Webentwickler UA zur Browsererkennung. Mozilla erklärt es gut in ihrem Blog:

Es ist normalerweise eine schlechte Idee, verschiedene Webseiten oder Dienste für verschiedene Browser bereitzustellen. Das Web soll für alle zugänglich sein, unabhängig davon, welchen Browser oder welches Gerät sie verwenden. Es gibt Möglichkeiten, Ihre Website so zu entwickeln, dass sie sich basierend auf der Verfügbarkeit von Funktionen schrittweise verbessert, anstatt auf bestimmte Browser abzuzielen.

Hier ist ein großartiger Artikel, der die Geschichte des User Agent erklärt.

Oft schnüffeln faule Entwickler nur nach der UA-Zeichenfolge und deaktivieren den Inhalt ihrer Website basierend auf dem Browser, von dem sie glauben, dass er vom Betrachter verwendet wird. Internet Explorer 8 ist ein häufiger Frustpunkt für Entwickler. Daher prüfen sie häufig, ob ein Benutzer eine beliebige Version des IE verwendet, und deaktivieren Funktionen.

Das Edge-Team beschreibt dies noch ausführlicher in seinem Blog.

Alle Zeichenfolgen für Benutzeragenten enthalten mehr Informationen zu anderen Browsern als der tatsächlich verwendete Browser - nicht nur Token, sondern auch "aussagekräftige" Versionsnummern.

UA-Zeichenfolge von Internet Explorer 11:

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

Microsoft Edge UA-Zeichenfolge:

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

Die userAgent-Eigenschaft wurde von Patrick H. Lauke in W3C-Diskussionen treffend als „eine ständig wachsende Menge von Lügen“ beschrieben. ("Oder besser gesagt, ein Balanceakt, bei dem genügend Legacy-Keywords hinzugefügt werden, bei denen der alte UA-Sniffing-Code nicht sofort umkippt, während dennoch versucht wird, ein wenig tatsächlich nützliche und genaue Informationen zu vermitteln.")

Wir empfehlen Webentwicklern, UA-Schnüffeln so weit wie möglich zu vermeiden. Moderne Webplattformfunktionen sind fast alle auf einfache Weise erkennbar. Zum Beispiel ist die Modernizr- Bibliothek eine fantastische und einfache Möglichkeit, Funktionen zu erkennen.

Im letzten Jahr haben wir einige UA-Sniffing-Sites gesehen, die aktualisiert wurden, um Microsoft Edge zu erkennen… nur um einen alten IE11-Codepfad bereitzustellen. Dies ist nicht der beste Ansatz, da Microsoft Edge dem Verhalten von 'WebKit' und nicht dem Verhalten von IE11 entspricht (alle Unterschiede zwischen Edge und WebKit sind Fehler, die wir beheben möchten).

Nach unserer Erfahrung läuft Microsoft Edge am besten auf den 'WebKit'-Codepfaden auf diesen Websites. Da das Internet auf einer größeren Anzahl von Geräten verfügbar wird, gehen Sie bitte davon aus, dass unbekannte Browser gut sind. Bitte beschränken Sie Ihre Website nicht darauf, nur mit einer kleinen Anzahl derzeit bekannter Browser zu arbeiten. Wenn Sie dies tun, wird Ihre Site mit ziemlicher Sicherheit in Zukunft kaputt gehen.

Fazit

Durch die Präsentation der Chrome UA-Zeichenfolge können wir die von diesen Entwicklern verwendeten Hacks umgehen, um den Benutzern die beste Erfahrung zu bieten.

Entnommen aus Wie lautet der Name der User Agent-Zeichenfolge für Microsoft Edge? Antwort von Dave Voyles .

Verhexen
quelle
Argh ... Mir ist nicht in den Sinn gekommen, dies beim Stackoverflow zu suchen. Danke trotzdem!
PulseJet