Przejdź do głównej treści

User-Agent Client Hints i redukcja UA

Przeglądarki oparte na Chromium wysyłają zredukowany ciąg User-Agent: szczegóły, które najdokładniej identyfikowały urządzenie, zamrożono na stałych wartościach, a precyzyjne dane przeniesiono do User-Agent Client Hints (UA-CH), o które strona musi poprosić. Ten poradnik analizuje starszy ciąg Chrome w systemie Android obok zredukowanego.

Przykład krok po kroku

Starszy Chrome w systemie Android (przed redukcją)
Mozilla/5.0 (Linux; Android 12; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.88 Mobile Safari/537.36
Przeglądarka
Chrome 99.0.4844.88
Silnik
Blink
System operacyjny
Android 12
Klasa urządzenia
Mobilne
Urządzenie
Samsung SM-G991B
Architektura CPU
Nieznane
Bot / crawler
Nie
Zredukowany Chrome w systemie Android
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Mobile Safari/537.36
Przeglądarka
Chrome 120.0.0.0
Silnik
Blink
System operacyjny
Android 10
Klasa urządzenia
Mobilne
Urządzenie
K
Architektura CPU
Nieznane
Bot / crawler
Nie

Starszy ciąg ujawnia Android 12, model Samsunga SM-G991B i pełną wersję 99.0.4844.88. W zredukowanym ciągu Android 10 i model K to symbole zastępcze wysyłane przez każde urządzenie z Androidem, a wersja kończy się na .0.0.0. Parser podaje dokładnie to, co mówi ciąg — Android 10, model K — więc prawdziwą informację niosą już tylko wersja główna 120 i token Mobile.

Wskazówki o niskiej entropii wysyłane domyślnie przez przeglądarkę Chromium oraz nagłówek odpowiedzi Accept-CH proszący o więcej
Sec-CH-UA: "Not_A Brand";v="8", "Chromium";v="120", "Google Chrome";v="120"
Sec-CH-UA-Mobile: ?1
Sec-CH-UA-Platform: "Android"

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

Najważniejsze zasady

  • Zredukowane ciągi Chrome zachowują tylko wersję główną; wersja podrzędna, kompilacja i poprawka to zawsze 0.0.0.
  • Na Androidzie wersja systemu jest ustalona na 10, a model urządzenia zastąpiony przez K. Na komputerach platforma jest zamrożona na wartościach takich jak Windows NT 10.0; Win64; x64, Macintosh; Intel Mac OS X 10_15_7 lub X11; Linux x86_64.
  • Przez HTTPS przeglądarki Chromium domyślnie wysyłają trzy wskazówki o niskiej entropii: Sec-CH-UA (marki i wersje główne), Sec-CH-UA-Mobile i Sec-CH-UA-Platform.
  • Szczegółowe wskazówki, takie jak Sec-CH-UA-Platform-Version, Sec-CH-UA-Model i Sec-CH-UA-Full-Version-List, są wysyłane dopiero wtedy, gdy serwer poprosi o nie w nagłówku odpowiedzi Accept-CH. W JavaScripcie użyj navigator.userAgentData.getHighEntropyValues().
  • Lista marek zawiera celowo fałszywy wpis „GREASE”, np. „Not_A Brand”. Szukaj potrzebnej marki, zamiast porównywać cały nagłówek.
  • Windows 11 nadal wysyła Windows NT 10.0 w ciągu User-Agent; Sec-CH-UA-Platform-Version o wartości 13.0.0 lub wyższej oznacza Windows 11.
  • Client hints to funkcja Chromium, więc zachowaj rozwiązanie awaryjne oparte na User-Agent dla innych przeglądarek. Ten parser odczytuje tylko ciąg User-Agent, nie client hints.

Więcej poradników o user agentach