Zeichenfolge des Microsoft Edge-Benutzeragenten

16297
PulseJet

Mir ist gerade aufgefallen, dass, während alle anderen Browser scheinbar ihre eigenen Benutzeragenten-Zeichenfolgen haben, Microsoft Edge's ungefähr so ​​aussieht:

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?

9

2 Antworten auf die Frage

3
Ramhound

Warum hat es Mozilla, Chrome und Safari und nicht nur Edge?

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

Es ist auch eine bewusste Designentscheidung, die Nützlichkeit von Benutzer-Agent-Prüfungen zu begrenzen. Diese Entscheidung beruht wahrscheinlich auf der Tatsache (aus der Sicht von Spartan / Edge Developers), dass Websites in der Vergangenheit speziell nach Internet Explorer suchen und Benutzer dazu auffordern, einen anderen Browser zu verwenden.

Da Edge / Spartan der erste Versuch von Microsoft war, die Trident-Engine zu modernisieren, und Edge / Spartans Zweck darin bestand, die Funktionsmerkmale (Blink, AppleWebKit und Gecko) der damaligen Zeit anzupassen, ist der Benutzeragent, der sich selbst als alles einseitig bekannt macht So verhindern Sie, dass Webseiten-Designer Edge auf dieselbe Weise wie auf IE ansprechen.

Viele Websites, die Sie heute besuchen, werden in IE nicht gut angezeigt, da sie nicht ordnungsgemäß 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 für einige Websites auch nach dem Deaktivieren des glatten Scrollens nicht wegfällt. In einigen Fällen werden wichtige Elemente nicht angezeigt, da eine Website Ihren Browser als IE identifiziert.

Microsofts neue spartanische Engine 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 ist darauf hinzuweisen, dass der Benutzeragent von IE11 ähnlich ist:

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

Zeichenfolge des Benutzeragenten geändert

1
Hex

Edge gab vor, Chrome zu sein, und Chrome gab vor, Safari zu sein, und Safari gab vor, Mozilla zu sein. 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 die Verwirrung war auf der Oberfläche der Bahn zu groß.

Entnommen aus Wie lautet der Name des User Agent-Strings 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 warum in diesem Blogbeitrag.

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 bei Chrome nicht der Fall ist.

Ich möchte darauf hinweisen, dass dies nicht eine rücksichtslose Abweichung von dem ist, was Microsoft mit dem IE 11 gemacht hat. Unter Windows 8 wird Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) wie Gecko beschrieben, wie hier erläutert Post.

Was ist ein User Agent-Sniffing?

Häufig werden Web-Entwickler UA-Sniffing für die Browsererkennung durchführen. Mozilla erklärt es gut in ihrem Blog:

Das Bereitstellen verschiedener Webseiten oder Dienste für verschiedene Browser ist in der Regel eine schlechte Idee. Das Web ist für alle zugänglich, unabhängig davon, welchen Browser oder welches Gerät sie verwenden. Es gibt verschiedene Möglichkeiten, Ihre Website so zu entwickeln, dass sie sich schrittweise durch die Verfügbarkeit von Funktionen und nicht durch gezielte Browser verbessert.

Hier ist ein großartiger Artikel, der die Geschichte des Benutzeragenten erläutert.

Oft suchen faule Entwickler nur nach dem UA-String und deaktivieren Inhalte auf ihrer Website, je nachdem, welchen Browser sie für den Zuschauer verwenden. Internet Explorer 8 ist ein häufiger Frustrationspunkt für Entwickler. Daher wird häufig überprüft, ob ein Benutzer eine beliebige IE-Version verwendet, und Funktionen werden deaktiviert.

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

Alle Zeichenfolgen für Benutzeragenten enthalten mehr Informationen zu anderen Browsern als den von Ihnen verwendeten Browser - nicht nur Token, sondern auch "aussagekräftige" Versionsnummern.

UA-String 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 Eigenschaft userAgent wurde von Patrick H. Lauke in den W3C-Diskussionen treffend als "eine ständig wachsende Zahl von Lügen" beschrieben. (Oder eher ein Balanceakt, bei dem genügend alte Schlüsselwörter hinzugefügt werden, bei denen der alte UA-Sniffing-Code nicht sofort umgefallen ist, während immer noch versucht wird, ein paar wirklich nützliche und genaue Informationen zu vermitteln. “)

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

Im letzten Jahr haben wir einige UA-Sniffing-Sites gesehen, die aktualisiert wurden, um Microsoft Edge zu ermitteln. Lediglich um einen alten IE11-Codepfad bereitzustellen. Dies ist nicht der beste Ansatz, da Microsoft Edge dem Verhalten von 'WebKit' entspricht, nicht dem Verhalten von IE11 (alle Unterschiede zwischen Edge und WebKit sind Fehler, die an der Behebung von Problemen interessiert sind).

Nach unserer Erfahrung läuft Microsoft Edge am besten auf den "WebKit" -Codepfaden auf diesen Websites. Wenn das Internet auf einer größeren Anzahl von Geräten verfügbar ist, gehen Sie bitte davon aus, dass unbekannte Browser gut sind. Bitte beschränken Sie sich nicht darauf, dass Ihre Website nur mit einer kleinen Anzahl von bekannten Browsern funktioniert. Wenn Sie dies tun, wird Ihre Website in Zukunft mit Sicherheit mit Sicherheit brechen.

Fazit

Durch die Präsentation des Chrome-UA-Strings können wir die Hacks umgehen, die diese Entwickler verwenden, um den Benutzern die beste Erfahrung zu bieten.

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

Argh ... Ist mir nicht eingefallen, das auf stackoverflow zu suchen. Danke trotzdem! PulseJet vor 7 Jahren 0