23Jul

Was ist der User Agent eines Browsers?

click fraud protection

Ihr Browser sendet seinen Benutzer-Agent an jede Website, mit der Sie sich verbinden. Wir haben schon einmal über das Ändern des User Agents Ihres Browsers geschrieben - aber was genau ist eigentlich ein User Agent?

Ein Benutzer-Agent ist eine "Zeichenfolge", dh eine Textzeile, die den Browser und das Betriebssystem für den Webserver angibt. Das klingt einfach, aber Benutzeragenten sind im Laufe der Zeit zu einem Chaos geworden.

Die Grundlagen

Wenn Ihr Browser eine Verbindung zu einer Website herstellt, enthält er ein User-Agent-Feld in seinem HTTP-Header. Der Inhalt des User-Agent-Felds variiert von Browser zu Browser. Jeder Browser hat seinen eigenen, unverwechselbaren Benutzeragenten. Im Wesentlichen ist ein Benutzer-Agent eine Möglichkeit für einen Browser zu sagen "Hi, ich bin Mozilla Firefox unter Windows" oder "Hallo, ich bin Safari auf einem iPhone" zu einem Webserver.

Der Webserver kann diese Informationen verwenden, um verschiedene Webseiten verschiedenen Webbrowsern und verschiedenen Betriebssystemen zur Verfügung zu stellen. Eine Website könnte z. B. mobile Seiten an mobile Browser, moderne Seiten an moderne Browser und eine Meldung "Aktualisiere deinen Browser" an den Internet Explorer 6 senden.

instagram viewer

Untersuchen von Benutzeragenten

Hier ist zum Beispiel der User Agent von Firefox unter Windows 7:

Mozilla / 5.0( Windows NT 6.1; WOW64; rv: 12.0) Gecko / 20100101 Firefox / 12.0

Dieser User Agent sagt dem Webserver einiges zu: Das Betriebssystem ist Windows 7( Codename Windows NT 6.1), es ist ein 64-Bit-Version von Windows( WOW64), und der Browser selbst ist Firefox 12.

Werfen wir nun einen Blick auf den User-Agent von Internet Explorer 9:

Mozilla / 5.0( kompatibel; MSIE 9.0; Windows NT 6.1; WOW64; Trident /5.0)

Die User-Agent-Zeichenfolge identifiziert den Browser als IE 9 mit der Render-Engine von Trident 5.Sie können jedoch etwas verwirrend finden - IE identifiziert sich als Mozilla.

Wir werden gleich darauf zurückkommen. Sehen wir uns zuerst den Google Chrome-User-Agent an:

Mozilla / 5.0( Windows NT 6.1; WOW64) AppleWebKit / 536.5( KHTML, wie Gecko) Chrome / 19.0.1084.52 Safari / 536.5

Die Handlung verdichtet sich: Chrome gibt vor, beides zu seinMozilla und Safari. Um zu verstehen, warum, müssen wir die Geschichte von Benutzeragenten und Browsern untersuchen.

Der User Agent String Mess

Mosaic war einer der ersten Browser. Seine User-Agent-Zeichenfolge war NCSA_Mosaic / 2.0.Später kam Mozilla( später umbenannt in Netscape), und sein Benutzeragent war Mozilla / 1.0.Mozilla war ein fortgeschrittener Browser als Mosaic - insbesondere unterstützte er Frames. Webserver haben überprüft, dass der Benutzeragent das Wort Mozilla enthielt und Seiten mit Frames an Mozilla-Browser gesendet hat. Für andere Browser haben Webserver die alten Seiten ohne Frames gesendet.

Schließlich kam Microsofts Internet Explorer und unterstützte auch Frames. Allerdings hat IE keine Webseiten mit Frames erhalten, weil Webserver sie nur an Mozilla-Browser gesendet haben. Um dieses Problem zu beheben, Microsoft hinzugefügt das Wort Mozilla zu ihrem Benutzer-Agent und warf zusätzliche Informationen( das Wort "kompatibel" und ein Verweis auf IE.) Web-Server waren glücklich, das Wort Mozilla zu sehen und IE die modernen Webseiten gesendet. Andere Browser, die später kamen, machten dasselbe.

Schließlich suchten einige Server nach dem Wort Gecko - der Rendering-Engine von Firefox - und bedienten Gecko-Browsern verschiedene Seiten als ältere Browser. KHTML - ursprünglich für Konquerer auf dem KDE-Desktop von Linux entwickelt - fügte die Wörter "wie Gecko" hinzu, damit sie auch die modernen Seiten für Gecko bekommen. WebKit basierte auf KHTML - als es entwickelt wurde, fügten sie das Wort WebKit hinzu und behielten die ursprüngliche "KHTML, wie Gecko" -Linie für Kompatibilitätszwecke bei. Auf diese Weise fügten Browser-Entwickler im Laufe der Zeit Wörter zu ihren Benutzeragenten hinzu.

-Webserver kümmern sich nicht wirklich darum, was genau die Zeichenfolge des Benutzeragenten ist - sie prüfen nur, ob sie ein bestimmtes Wort enthält.

verwendet

Webserver verwenden Benutzerprogramme für eine Vielzahl von Zwecken, einschließlich:

  • Serving verschiedene Webseiten zu verschiedenen Web-Browsern. Dies kann für gute Zwecke verwendet werden - zum Beispiel, um einfacheren Webseiten älteren Browsern zu dienen - oder bösartig - beispielsweise um eine Meldung "Diese Webseite muss in Internet Explorer angezeigt werden" anzuzeigen.
  • Anzeigen verschiedener Inhalte für verschiedene Betriebssysteme - z. B. durch Anzeigen einer abgespeckten Seite auf mobilen Geräten.
  • Sammeln von Statistiken über die von den Benutzern verwendeten Browser und Betriebssysteme. Wenn Sie jemals Statistiken zum Marktanteil des Browsers sehen, werden sie so erworben.

Web-Crawling-Bots verwenden auch Benutzeragenten. Zum Beispiel identifiziert sich der Web Crawler von Google wie folgt:

Googlebot / 2.1( + http: //www.google.com/ bot.html)

Web-Server können Bots eine spezielle Behandlung gewähren - zum Beispiel, indem sie ihnen durch obligatorische Registrierungs-Bildschirme erlauben.(Ja, das bedeutet, dass Sie Registrierungsbildschirme manchmal umgehen können, indem Sie Ihren Benutzeragenten auf Googlebot setzen.)

-Webserver können auch bestimmten Bots( oder allen Bots) Befehle erteilen, indem sie die robots.txt-Datei verwenden. Zum Beispiel kann ein Webserver einem bestimmten Bot mitteilen, dass er weggehen soll, oder einem anderen Bot mitteilen, dass er nur bestimmte Bereiche der Website indexieren soll. In der robots.txt-Datei werden die Bots durch ihre User-Agent-Zeichenfolgen identifiziert.

Alle gängigen Browser enthalten Möglichkeiten, benutzerdefinierte Benutzeragenten einzurichten, sodass Sie sehen können, welche Webserver an verschiedene Browser gesendet werden. Stellen Sie Ihren Desktop-Browser beispielsweise auf die Zeichenfolge für den Benutzeragenten eines mobilen Browsers ein, und auf Ihrem Desktop werden die mobilen Versionen der Webseiten angezeigt.