So funktioniert der User-Agent
Jede Anfrage eines Browsers trägt einen User-Agent-Header: eine Zeile, die den Browser, seine Engine und das System nennt, auf dem er läuft. Server nutzen ihn, um ein mobiles Layout zu wählen, zu protokollieren, welche Browser zu Besuch kommen, Bots zu erkennen und Browserfehler zu umgehen. Diese Seite zeigt den Header genau so, wie er beim Server ankam, und denselben String, den Ihr Browser an Skripte gibt.
Der String ist voller Geschichte: Jeder Browser beginnt mit Mozilla/5.0, Chrome gibt sich auch als Safari aus, und Edge gibt sich als Chrome aus. Browser frieren heute Teile davon ein, um Tracking zu erschweren, daher sagt Windows 11 weiterhin Windows NT 10.0, Macs sagen 10.15.7, und Chrome unter Android verbirgt das Handymodell. User-Agent Client Hints ersetzen diese Teile: Ein Browser, der sie unterstützt, meldet auf Nachfrage die echte Plattformversion, das Modell und die Architektur. Diese Seite fragt Ihren Browser direkt.
Der Parser auf dieser Seite ist klein und läuft in Ihrem Browser. Er prüft zuerst auf bekannte Crawler und HTTP-Tools (Googlebot, Bingbot, GPTBot, curl, Wget, python-requests und viele mehr), dann die auf Chromium basierenden Browser vor Chrome selbst und Chrome vor Safari, weil ihre Strings die Namen der anderen enthalten. Der String eines Bots kann von jedem kopiert werden, ein Name allein beweist also nichts.
Beispiel
Das ist der String, den Chrome 131 unter 64-Bit-Windows sendet:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36| Teil | Bedeutung |
|---|---|
Mozilla/5.0 | Wird seit den 1990er Jahren aus Kompatibilitätsgründen von jedem Browser gesendet. Heute sagt er nichts aus. |
(Windows NT 10.0; Win64; x64) | Das System: Windows NT 10.0, also Windows 10 oder 11, als 64-Bit-Build auf einem x64-Prozessor. |
AppleWebKit/537.36 (KHTML, like Gecko) | Das Engine-Token, seit 2013 auf demselben Wert eingefroren, als Chrome von WebKit auf seine eigene Blink-Engine wechselte. |
Chrome/131.0.0.0 | Der Browser und seine Hauptversion. Die anderen drei Zahlen sind im heutigen reduzierten String immer 0. |
Safari/537.36 | Ein weiteres Kompatibilitäts-Token, damit für Safari geschriebene Websites auch funktionieren. |
Der Parser liest ihn also als Chrome 131 mit der Blink-Engine, Windows 10 oder 11, ein Desktop mit x86-64-Prozessor. Im selben Browser würden die Client Hints unter Windows 11 eine Plattformversion von 13 oder höher und die vollständige Chrome-Version ergänzen.
Fragen
Was ist ein User-Agent?
Ein User-Agent ist das Programm, das eine Webanfrage für Sie stellt, meist Ihr Browser. Es stellt sich im Header User-Agent mit einem String vor, etwa Mozilla/5.0 (Windows NT 10.0; Win64; x64) … Chrome/131.0.0.0 Safari/537.36. Server lesen ihn, um ein Layout zu wählen, Browser in ihrer Statistik zu zählen und Bots zu erkennen. Ihrer steht oben auf dieser Seite.
Wie ändere ich meinen User-Agent?
In Chrome oder Edge öffnen Sie die DevTools, dann das Menü ⋮ → Weitere Tools → Netzwerkbedingungen, entfernen den Haken bei „Browserstandard verwenden“ und wählen oder tippen einen. In Firefox öffnen Sie about:config und legen eine String-Einstellung general.useragent.override an. In Safari aktivieren Sie das Menü „Entwickler“ unter Einstellungen → Erweitert und wählen dann Entwickler → User-Agent. Bei curl nutzen Sie -A, zum Beispiel curl -A "MyBot/1.0" https://example.com. Laden Sie diese Seite neu, um die Änderung zu sehen.
Warum steht in meinem User-Agent Windows 10, obwohl ich Windows 11 habe?
Browser haben den String für Windows 11 nie geändert: Beide Versionen senden Windows NT 10.0. Chrome, Edge und Opera melden die echte Version über Client Hints, wobei eine Plattformversion von 13 oder höher Windows 11 bedeutet; diese Seite liest sie und zeigt Windows 11. Firefox bietet keine Client Hints, kann also nur Windows 10 oder 11 sagen.
Warum zeigt mein Mac macOS 10.15.7?
Safari und Chrome haben die macOS-Version bei 10.15.7 eingefroren und Firefox bei 10.15, daher sendet jeder neuere Mac diese, Apple Silicon oder Intel. Manche alte Websites gingen kaputt, als die Version über 10 stieg, und ein fester Wert gibt Trackern auch weniger Anhaltspunkte. Chrome, Edge und Opera liefern die echte Version über Client Hints, die diese Seite zeigt, wenn sie verfügbar sind.
Woher weiß ich, dass ein Besucher wirklich Googlebot ist?
Nicht am User-Agent: Jeder kann den String von Googlebot senden. Schlagen Sie die IP-Adresse des Besuchers per Reverse-DNS nach. Eine echte Googlebot-Adresse führt zu einem Namen unter googlebot.com, google.com oder googleusercontent.com, und dieser Name muss wieder auf dieselbe Adresse führen. Google veröffentlicht außerdem die Adressbereiche seiner Crawler als JSON-Dateien. Bing, Apple und OpenAI bieten dieselbe Art von Prüfung für ihre Bots.