User-Agent-Kennung

Aus SELFHTML-Wiki
(Weitergeleitet von UA-Sniffing)
Wechseln zu: Navigation, Suche

Wenn ein Web-Browser oder ein Such-Robot oder der Agent eines Proxy-Servers bei einem Web-Server mit einem Request Daten anfordert, schickt er im Header immer auch eine Zeichenkette mit, mit der er sich dem Web-Server gegenüber „namentlich vorstellt“.

Eine solche User-Agent-Kennung sollte einen Hinweis auf den verwendeten Browser und seine Version geben.

ursprüngliche Ziele

Die Client-Identifikation sollte in manchen Situationen nützlichen Zwecken dienen:

  • In JavaScript gibt es das navigator-Objekt, das es beispielsweise erlaubt, so genannte Browserweichen zu programmieren, um bestimmte JavaScript-Anweisungen nur auszuführen, wenn bestimmte Browser-Typen am Werk sind.
  • Ein CGI-Script kann die CGI-Umgebungsvariable HTTP_USER_AGENT auslesen, um herauszufinden, von welcher Client-Software es aufgerufen wurde. Auch dabei kann die Information dazu genutzt werden, um bestimmte Anweisungen abhängig auszuführen oder nicht auszuführen.
  • Bei Statistiken zu einem Web-Projekt gibt es in der Regel auch eine Statistiksorte, die Zugriffszahlen nach Browser-Typen sortiert aufschlüsselt. Grundlage dafür sind ebenfalls die Client-Identifikationen, die der Web-Server bei den Aufrufen erhalten hat.

Stand heute

Da in der Zeit der Browserkriege User-Agent-Kennungen dazu gebraucht wurden, andere Browser auzuschließen, konnte z.  der „neue“ Internet Explorer zwar Frames, wurde aber aufgrund der fehlenden Kennung vom Zugriff auf diese Seite ausgeschlossen. Deshalb geben sich alle Browser als Mozilla aus.

Die Eigenschaft NavigatorID.appCodeName speichert den Spitznamen des Browsers. Dieses Feature wurde von Netscape deshalb erfunden, weil der Netscape-Browser den Spitznamen "Mozilla" trägt.

Syntax

codeName = window.navigator.appCodeName;

  • codeName ist eine Zeichenkette mit dem internen Browsernamen (der in allen Browsern "Mozilla" ist)
Beachten Sie: Diese Eigenschaft ist mittlerweile obsolet, da sich kein Browser an das Schema hält.

Der Internet Explorer gab sich von Anfang an als Mozilla aus, damit auf Netscape zugeschnittene Seiten dargestellt werden konnten.

Im Update von Windows Phone 8.1 soll der User-Agent ein iPhone vorspiegeln, damit für iOS und Android optimierte Seiten auch auf mobilen Windows-Geräten dargestellt werden können. Dies ist nötig, da viele Programmierer sich alleine auf User-Agent-Abfragen anstelle einer feature detection verließen.[1]
Hinweis:
Das Konzept von Browserweichen mit User-Agent-Kennung ist aufgrund der unklaren Browserrückmeldungen gescheitert.

Verwenden Sie für …

Quellen

  1. http://rcpmag.com/articles/2014/08/07/wp81-update-ie11-improvements.aspx

Weblinks