Über dieses Tool
Was ein User-Agent-String ist
Fast jede HTTP-Anfrage enthält einen User-Agent-Header, in dem sich der Client selbst benennt. Browser haben jahrzehntelang die Namen ihrer Konkurrenten hinzugefügt, damit sie auch von Websites bedient werden, die für einen dieser Konkurrenten geschrieben wurden: Deshalb beginnt der String von Chrome mit Mozilla/5.0, nennt AppleWebKit, KHTML, like Gecko und Safari, und deshalb senden Edge und Opera den String von Chrome mit angehängtem Edg/ bzw. OPR/.
Ein Parser muss daher in einer festen Reihenfolge prüfen, vom spezifischsten Token zum allgemeinsten. Dieses Tool sucht zuerst nach Bots und HTTP-Bibliotheken, dann nach Browsern mit eigenem Token und erst zuletzt nach Chrome und Safari, deren Tokens viele andere Browser wiederholen.
Warum Chromium den Großteil eingefroren hat
Der String geht mit jeder Anfrage an jeden Server, und seine Details halfen beim Fingerprinting von Benutzern. Chrome hat ihn deshalb reduziert, und andere Chromium-basierte Browser sind gefolgt. Die Version wird jetzt als 131.0.0.0 gesendet, wobei nur die Hauptversion echt ist, und der Plattformteil ist ein fester Wert wie Windows NT 10.0; Win64; x64 oder Android 10; K, unabhängig vom tatsächlichen System.
Eine Website, die die Details braucht, muss sie über User-Agent Client Hints anfordern: die Request-Header Sec-CH-UA und navigator.userAgentData in JavaScript. Die Tabelle unter dem Ergebnis zeigt diese Werte, sofern der Browser, den Sie verwenden, sie bereitstellt.
Feature Detection ist die bessere Wahl
Da der String teilweise eingefroren ist, andere Browser imitiert und vom Client beliebig gesetzt werden kann, eignet er sich schlecht, um zu entscheiden, welcher Code laufen soll. Prüfen Sie stattdessen das Feature selbst: 'share' in navigator in JavaScript oder @supports in CSS. Die Antwort stimmt dann auch für Browser, von denen Sie nie gehört haben, und für Versionen, die es noch gar nicht gibt.
Sinnvoll ist das Auslesen des Strings weiterhin für Statistiken, um in einem Log Crawler von Menschen zu unterscheiden und um einen Bug in einer bestimmten, bekannten Browserversion zu umgehen.