Auf die Reduzierung des User-Agents in Chrome vorbereiten

Um die Privatsphäre der Nutzer zu schützen, schränkt Chrome die im User-Agent-String geteilten Informationen weiter ein.

Ab Chrome 110 (Februar 2023) führen wir nach und nach einen festen Wert für die Android-Version und das Gerätemodell ein. Der Standardwert ist bei einem Modell K immer Android 10. Wenn Sie sich darauf verlassen, dass der User-Agent die Betriebssystemversion, das Android-Gerätemodell oder die detaillierte Browserversion eines Besuchers ermittelt, müssen Sie möglicherweise Maßnahmen ergreifen. Weitere Informationen finden Sie unten.

Der User-Agent ist ein String, der Informationen über den Browser des Nutzers und seine Umgebung liefert, z. B. über die Information, dass ein Besucher Ihrer Website die Chrome-Version 110 unter Android ausführt. Ihr Browser sendet dies in einem HTTP-Header und stellt es über JavaScript zur Verfügung.

Das Problem beim vollständigen User-Agent-String besteht darin, dass standardmäßig bei jeder Anfrage detaillierte Informationen zum Browser weitergegeben werden. Dies ist ein wichtiger Faktor für websiteübergreifendes Tracking. Unser Ziel ist es, die Möglichkeiten für die passive Erfassung dieser Daten zu reduzieren und gleichzeitig APIs bereitzustellen, mit denen Sie bei Bedarf aktiv auf Daten zugreifen können.

Bisher User-Agent-Reduzierung

Wir haben bereits damit begonnen, einige der standardmäßig verfügbaren User-Agent-Daten zu entfernen und durch feste Werte zu ersetzen.

Ab Chrome 101 haben wir die Nebenversionsnummer durch Nullen ersetzt, z.B. Chrome/101.3.2.1 wurde zu Chrome/101.0.0.0.

Ab Chrome 107 haben wir die Desktop-Betriebssystemversion und die CPU-Informationen durch einen festen Wert für die Plattform ersetzt.

MacMacintosh: Intel Mac OS X 10_15_7
WindowsWindows NT 10.0; Win64; x64
ChromeOSX11; CrOS x86_64 14541.0.0
LinuxX11; Linux x86_64

Fehlerkorrektur für die Android-Version und das Gerätemodell ab Chrome 110

Ab Chrome 110 führen wir nach und nach einen festen Wert für die Android-Version und das Gerätemodell ein. Anstelle von etwa Android 13 für Pixel 7 ist der Standardwert für das Modell K immer Android 10.

Vorher: User-Agent enthält die Android-Version und das Gerätemodell

Mozilla/5.0 (Linux; Android 13; Pixel 7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36

Nachher: Reduzierung des User-Agents mit korrigierter Android-Version und korrigiertem Gerätemodell

Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.0.0 Mobile Safari/537.36

Keine Änderung am User-Agent-Format

Durch die User-Agent-Reduzierung werden die im User-Agent zurückgegebenen Werte geändert, das Format bleibt jedoch unverändert. Wenn Sie den User-Agent nur zum Lesen des Betriebssystemtyps oder der Hauptversion des Browsers verwenden, werden diese Daten wie bisher aktualisiert und Sie müssen nichts weiter tun.

Die Teile der Plattform, des Browsernamens, der Hauptversion des Browsers und der mobilen Anzeige im User-Agent-String werden wie zuvor aktualisiert.
Der Betriebssystemtyp, das Gerätemodell und die Nebenversion des Browsers sind statische Werte.
Alle anderen Teile des User-Agent-Strings bleiben unverändert.

Alternativen zu User-Agent

Wenn Sie derzeit die detaillierteren Daten verwenden, sollten Sie immer prüfen, ob Sie stattdessen Progressive Verbesserung oder Funktionserkennung verwenden können.

Denken Sie immer daran, dass der User-Agent genau wie jeder andere vom User bereitgestellte Wert ist – Sie sollten ihn validieren und nicht davon ausgehen, dass er korrekt ist. Der User-Agent-Wert kann vom Nutzer, von Erweiterungen oder von anderen Clients leicht geändert oder auch gar nicht gesendet werden. In den meisten Fällen sollten Sie in der Lage sein, Nutzern ohne User-Agent-Daten funktionstüchtige Inhalte bereitzustellen.

Detaillierte Daten mit User-Agent-Client-Hints anfordern

Es gibt viele gute Gründe, auf detaillierte User-Agent-Daten zuzugreifen, z. B. die Bereitstellung gerätespezifischer Inhalte, Funktionen zur Betrugsbekämpfung oder detailliertes Logging. Wenn Sie detailliertere Daten benötigen, können Sie mit der User-Agent Client Hints API (UA-CH) darauf zugreifen. Wie der User-Agent ist auch UA-CH über HTTP-Header oder JavaScript verfügbar.

Die Standardheader wurden mit dem Präfix Sec-CH-UA- gesendet, aus dem hervorgeht, wie der Browser, die Hauptversion, das Betriebssystem und ob es sich beim Browser um ein Mobilgerät handelt.

Standardmäßige User-Agent-Client-Hints-Anfrageheader von Chrome:

Sec-CH-UA: "Chromium";v="110", "Not A(Brand";v="24", "Google Chrome";v="110"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"

Du kannst den Accept-CH-Header in deiner Antwort verwenden, um weitere Daten anzufordern. In diesem Fall können Sie Sec-CH-UA-Platform-Version und Sec-CH-UA-Model anfordern, um diese Android-Version und den Gerätetyp in nachfolgenden Anfragen zurückzugeben.

Antwortheader von Ihrem Server, der die Plattformversion und das Modell angibt:

Accept-CH:
  Sec-CH-UA-Platform-Version,
  Sec-CH-UA-Model

Header von Chrome mit Angabe der Android-Version und des Modellnamens anfordern:

Sec-CH-UA-Platform-Version: "13.0.0"
Sec-CH-UA-Model: "Pixel 7"

In JavaScript können Sie dasselbe tun, indem Sie getHighEntropyValues() in der userAgentData API aufrufen und ein Array der gewünschten Werte übergeben: platformVersion und model. Dadurch wird ein Promise mit einem Objekt zurückgegeben, das die spezifischen Werte enthält.

navigator.userAgentData
 .getHighEntropyValues(
   ['platformVersion', 'model']
 ).then(ua => { console.log(ua)
 });

{
  "platformVersion": "13.0.0",
  "model": "Pixel 7"
}

Ursprungsübergreifende oder erste Anfragen

Wenn auf deiner Seite ursprungsübergreifende Ressourcen vorhanden sind, die diese Werte benötigen, kannst du den Zugriff über den HTTP-Header Permissions-Policy oder über das Meta-Tag Delegate-CH im HTML-Code zulassen.

Wenn es erforderlich ist, dass Ihre Website diese sensiblen Werte in der allerersten Anfrage auf oberster Ebene enthält, können Sie den HTTP-Header Critical-CH verwenden. Dadurch wird der Browser angewiesen, die ursprüngliche Anfrage mit diesen zusätzlichen Hinweisen noch einmal zu senden. Dies kann bei älteren Systemen hilfreich sein, die sich nur schwer aktualisieren lassen. Idealerweise sollten Sie sich jedoch nicht auf diese sensiblen Werte verlassen, um den anfänglichen HTML-Code bereitzustellen.

Weitere Informationen

Sehen Sie sich Folgendes an, um den reduzierten User-Agent-String in Aktion zu sehen:

  • Den reduzierten User-Agent-String für dein Gerät findest du unter goo.gle/reduced-ua-demo
  • Unter goo.gle/ua-ch-demo findest du alle JavaScript- und HTTP-Header-User-Agent-Client-Hints für dein Gerät.
  • Senden Sie den reduzierten User-Agent-String in Ihrem Browser, indem Sie das Chrome-Flag #reduce-user-agent aktivieren.

Sie können sich auch weiterhin für den Ursprungstest zur Reduzierung des User-Agents registrieren, um den reduzierten User-Agent auf Ihrer Website zu erhalten. Wir beenden diesen Test jedoch Anfang März, da wir weiter daran arbeiten, den reduzierten User-Agent standardmäßig zu versenden.

Weitere Informationen finden Sie auf der Landingpage zur User-Agent-Reduzierung. Außerdem können Sie in unserem speziellen GitHub-Repository zur User-Agent-Reduzierung Probleme melden.