"Mozilla / 5.0" und "Like Gecko": Testen Webanwendungen immer noch auf Firefox-spezifische Benutzeragentenzeichenfolgen?

1610
bwDraco

Vergib mir, wenn dies die falsche Seite ist, um diese Frage zu stellen; Einige ähnliche Fragen wurden in Web Applications Stack Exchange geschlossen. Daher habe ich diese Frage hier gestellt. Bei Bedarf können Sie diese Frage auch migrieren.


Viele aktuelle Browser identifizieren sich mit Benutzer-Agent-Strings, die Mozilla/5.0oder Gecko(wie in like Gecko) enthalten, was nur für Firefox (und spätere Versionen von Netscape Navigator) sinnvoll ist.

Warum wird das immer noch verwendet? Wenn beispielsweise Chrome (die aktuellste Version dieser Version, unter Windows 8.1 64-Bit) sich als identifiziert hat

Chrome/32.0.1700.107 (Windows NT 6.3; WOW64) AppleWebKit/537.36 

anstatt

Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36 

können einige Websites nicht richtig funktionieren? Gibt es noch Webanwendungen, die diese Teilzeichenfolgen in der Benutzeragentenzeichenfolge verwenden?

Als Referenz ist die Zeichenfolge des Benutzeragenten für Firefox 27 unter Windows 8.1 64-Bit:

Mozilla/5.0 (Windows NT 6.3; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0 
0
Ich würde wetten, dass es nur ein veralteter Code ist. und ich würde auch wetten, dass es viele Websites gibt, die es immer noch verwenden, obwohl die allgemeine Weisheit eines Jahrzehnts darin bestand, "keine Benutzer-Agent-Zeichenfolgen zu schnüffeln!" miken32 vor 10 Jahren 1

2 Antworten auf die Frage

0
MadsHaupt

Ich denke immer noch, dass es einige Webanwendungen gibt, die es verwenden, aber ich glaube nicht, dass besonders viele es für irgendetwas verwenden.

Ich frage vielleicht ein bisschen dumm, aber wofür brauchst du die Informationen?

0
bwDraco

Okay, ich habe die Antwort bei Stack Overflow gefunden: Warum setzen Chrome und IE „Mozilla 5.0“ in den User-Agent, den sie an den Server senden? (Kredit geht an joatis )

Dies ist im Grunde ein historischer Rest, der aus Gründen der Kompatibilität mit bestimmten (sehr) alten Websites beibehalten wird. Es stellte sich heraus, dass einige Websites sich weigerten, bestimmte Arten von Inhalten (z. B. Inline-Frames) an Browser mit User-Agent-Strings zu liefern, die keine Teilstrings wie "Mozilla" enthielten, einschließlich Internet Explorer. Microsoft hat dieses Problem gelöst, indem er sich als Mozilla ausgibt:

Mozilla/1.22 (compatible; MSIE 2.0; Windows 95) 

Alle anderen folgten letztendlich und die Konvention hielt fest. Obwohl es heutzutage als schlechte Praxis angesehen wird, unterschiedlichen Inhalt basierend auf der deklarierten Benutzeragentenzeichenfolge bereitzustellen, sind einige Websites nach wie vor auf das Benutzeragenten-Sniffing angewiesen, um Inhalte selektiv bereitzustellen. (Heck, meine persönliche Website macht ein bisschen UA-Schnüffeln, um bekannte Spambots zu blockieren!)