Zum Hauptinhalt springen

Eine User-Agent-Zeichenfolge parsen

Ein User-Agent-Parser liest die Token eines User-Agent-Headers und wandelt sie in strukturierte Felder um. Unten durchlaufen drei feste Zeichenfolgen — ein Desktop-Browser, ein Smartphone und ein Suchmaschinen-Crawler — denselben Parser wie das interaktive Tool, gefolgt von den Regeln, die er anwendet.

Beispiel Schritt für Schritt

Chrome unter Windows
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
Browser
Chrome 120.0.0.0
Rendering-Engine
Blink
Betriebssystem
Windows 10/11
Geräteklasse
Desktop
Gerät
Unbekannt
CPU-Architektur
x64
Bot / Crawler
Nein
Safari auf dem iPhone
Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1
Browser
Safari 17.0
Rendering-Engine
WebKit
Betriebssystem
iOS 17.0
Geräteklasse
Mobil
Gerät
Apple iPhone
CPU-Architektur
Unbekannt
Bot / Crawler
Nein
Googlebot (Smartphone-Crawler)
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.216 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
Browser
Chrome 120.0.6099.216
Rendering-Engine
Blink
Betriebssystem
Android 6.0.1
Geräteklasse
Bot
Gerät
Nexus 5X Build/MMB29P
CPU-Architektur
Unbekannt
Bot / Crawler
Googlebot

Chrome unter Windows sendet Windows NT 10.0, das Windows 10 und Windows 11 gemeinsam haben, daher wird das Betriebssystem als 10/11 angezeigt. Beim iPhone liefert Version/17.0 die Safari-Version und iPhone OS 17_0 die iOS-Version. Die Googlebot-Zeichenfolge enthält einen vollständigen User-Agent von Chrome unter Android, doch Crawler-Signaturen werden zuerst geprüft, daher ist die Geräteklasse bot; die Browser- und Betriebssystemfelder zeigen weiterhin, als was sich der Crawler ausgibt.

Wichtige Regeln

  • Crawler-Signaturen werden zuerst geprüft: Googlebot, Bingbot, DuckDuckBot, YandexBot, Baiduspider, Slackbot, Twitterbot und facebookexternalhit. Ein Treffer setzt die Geräteklasse auf bot, auch wenn Browser-Token vorhanden sind.
  • Browser werden in fester Reihenfolge erkannt — Edge (Edg/), Opera (OPR/), Samsung Internet, Firefox, Chrome, Safari, dann Chromium —, weil die meisten Zeichenfolgen auch die Token anderer Browser enthalten. Die Engine ergibt sich aus dem Browser: Blink, Gecko oder WebKit.
  • Das Betriebssystem stammt aus dem Plattformabschnitt in Klammern: iPhone, iPad, Android, Windows NT, CrOS, Mac OS X oder Linux. Unterstriche in Apple-Versionsnummern werden in Punkte umgewandelt.
  • Die Geräteklasse ist Tablet bei iPad, einem Tablet-Token oder Android ohne Mobile-Token; Mobil bei iPhone oder Android mit Mobile-Token; und Desktop bei Windows, macOS, Linux und ChromeOS.
  • Alles, was die Zeichenfolge nicht angibt, bleibt unbekannt (null in der JSON-Ausgabe), statt geraten zu werden. Das Vertrauen ist nur dann hoch, wenn sowohl ein Browser als auch ein Betriebssystem erkannt wurden.
  • Jeder Client kann einen Googlebot-User-Agent senden. Um einen echten Google-Crawler zu bestätigen, führen Sie einen Reverse-DNS-Lookup für die IP der Anfrage durch, prüfen, ob der Name auf googlebot.com oder google.com endet, und bestätigen das Ergebnis anschließend mit einem Forward-Lookup.

Weitere Ratgeber zu User-Agents