Auf die Reduzierung des User-Agents in Chrome vorbereiten

Um die Privatsphäre der Nutzer zu schützen, verringert Chrome weiterhin die im User-Agent-String freigegebenen Informationen.

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

Der user-agent ist ein String mit Informationen zum Browser des Nutzers und seiner Umgebung. So wird z. B. darüber informiert, dass ein Besucher Ihrer Website Chrome 110 unter Android ausführt. Ihr Browser sendet diese Informationen in einem HTTP-Header und stellt sie über JavaScript zur Verfügung.

Das Problem bei einem vollständigen User-Agent-String besteht darin, dass er standardmäßig bei jeder Anfrage detaillierte Informationen über den Browser zur Verfügung stellt. Dies ist ein wesentlicher Faktor für websiteübergreifendes Tracking. Unser Ziel ist es, die Möglichkeiten für die passive Erhebung dieser Daten zu reduzieren und gleichzeitig APIs bereitzustellen, mit denen Sie bei Bedarf aktiv auf Daten zugreifen können.

Bisherige 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. So wurde Chrome/101.3.2.1 zu Chrome/101.0.0.0.

Ab Chrome 107 haben wir die Version des Desktopbetriebssystems 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

Android-Version und Gerätemodell ab Chrome 110 korrigiert

Ab Chrome 110 führen wir nach und nach einen festen Wert für die Android-Version und das Gerätemodell ein. Anstatt so etwas wie Android 13 für Pixel 7 zu sehen, ist der Standardwert bei einem Modell K immer Android 10.

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

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

Nachher: Reduzierung des User-Agents durch korrigierte Android-Version und korrigiertes Gerätemodell

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

Keine Änderung am User-Agent-Format

Durch die User-Agent-Reduzierung werden die vom User-Agent zurückgegebenen Werte geändert, das Format bleibt jedoch unverändert. Wenn Sie den User-Agent nur verwenden, um den Betriebssystemtyp oder die Browser-Hauptversion zu lesen, werden diese Daten wie gewohnt aktualisiert und Sie müssen nichts unternehmen.

Plattform, Browsername, Browser-Hauptversion und Mobile Indicator-Teile des User-Agent-Strings werden wie zuvor aktualisiert.
Betriebssystemtyp, Gerätemodell und Browser-Nebenversion sind statische Werte.
Alle anderen Teile des User-Agent-Strings bleiben unverändert.

Alternativen zum 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 wie jeder andere vom Nutzer bereitgestellte Wert ist. Sie sollten ihn validieren und nicht davon ausgehen, dass er korrekt ist. Der User-Agent-Wert kann vom Nutzer, Erweiterungen oder anderen Clients einfach geändert werden oder er wird gar nicht gesendet. In den meisten Fällen sollten Sie Besuchern ohne User-Agent-Daten funktionierende Inhalte zur Verfügung stellen können.

Detaillierte Daten mit User-Agent-Client-Hinweisen anfordern

Es gibt viele gute Gründe für den Zugriff auf detaillierte User-Agent-Daten, z. B. die Bereitstellung gerätespezifischer Inhalte, die Betrugsbekämpfung oder die detaillierte Protokollierung. Wenn Sie die detaillierteren Daten benötigen, können Sie die User-Agent Client Hints (UA-CH) API verwenden, um darauf zuzugreifen. Wie der User-Agent ist auch UA-CH über HTTP-Header oder JavaScript verfügbar.

Möglicherweise haben Sie bereits gesehen, dass die Standardheader mit dem Präfix Sec-CH-UA- gesendet wurden. Daran erkennen Sie den Browser, die Hauptversion, das Betriebssystem und ob es sich bei dem Browser um ein Mobilgerät handelt.

Standardmäßige Chrome-Anfrageheader für User-Agent-Client-Hints:

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"

Mit dem Header „Accept-CH“ in deiner Antwort kannst du weitere Daten anfordern. In diesem Fall können Sie nach Sec-CH-UA-Platform-Version und Sec-CH-UA-Model fragen, um diese Android-Version und diesen Gerätetyp in nachfolgenden Anfragen wiederherzustellen.

Antwortheader von deinem Server, der Plattformversion und -modell angibt:

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

Anfrageheader aus Chrome, einschließlich Android-Version und Modellname:

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

Sie können dasselbe in JavaScript 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 Cross-Origin-Ressourcen auf Ihrer Seite vorhanden sind, die diese Werte benötigen, können Sie den Zugriff über den Permissions-Policy-HTTP-Header oder das Delegate-CH-Meta-Tag in Ihrem HTML-Code erlauben.

Wenn diese sensiblen Werte bei der allerersten Anfrage der obersten Ebene für Ihre Website erforderlich sein müssen, können Sie den Critical-CH-HTTP-Header verwenden. Dieser weist den Browser an, die ursprüngliche Anfrage mit diesen zusätzlichen Hinweisen zu wiederholen. Dies kann bei älteren Systemen hilfreich sein, die sich nur schwer aktualisieren lassen. Im Idealfall sollten Sie sich bei der Bereitstellung Ihres ursprünglichen HTML-Codes nicht auf diese sensiblen Werte verlassen.

Mehr dazu

Um die reduzierte User-Agent-Zeichenfolge in Aktion zu sehen, schauen Sie sich Folgendes an:

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

Sie können sich auch noch für den Ursprungstest zur User-Agent-Reduktion registrieren, um den reduzierten User-Agent auf Ihrer Website zu erhalten. Der Testzeitraum wird jedoch Anfang März beendet, da wir die reduzierte User-Agent-Größe immer mehr standardmäßig zur Verfügung stellen.

Weitere Informationen finden Sie auf der Landingpage zur User-Agent-Reduktion. Probleme können auch in unserem GitHub-Repository zur User-Agent-Reduktion gemeldet werden.