User-Agent-Kennung
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.
Inhaltsverzeichnis
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)
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]Verwenden Sie für …
- JavaScript Abfragen, ob ein Objekt existiert
- CSS die @supports-Regel
Quellen
Weblinks
- developers.whatismybrowser.com: Liste verschiedener Kennungen
- webaim.org: lustige Geschichte der User-Agent-Kennungen, englisch
- Die Geschichte der User-Agent-Strings (deutsche Übersetzung von Alexander Stannigel