User agent (ciąg User-Agent)
Identyfikacja przeglądarki i systemu operacyjnego, którą przeglądarka przesyła w nagłówku User-Agent i udostępnia w JavaScript.
Definicja
W HTTP user agent to oprogramowanie klienta wysyłające żądanie, a nagłówek żądania User-Agent to ciąg tekstowy, który ono wysyła, aby serwery mogły zidentyfikować aplikację, system operacyjny, dostawcę i wersję. MDN zauważa, że informacje te historycznie budziły obawy o prywatność, ponieważ mogą być wykorzystywane do fingerprintingu. Nowoczesne przeglądarki Chromium przesyłają skrócony ciąg i przenoszą szczegółowe wartości do User-Agent Client Hints (nagłówki Sec-CH-UA-* i navigator.userAgentData).
Jak to działa
- Przeglądarka przesyła User-Agent z każdym żądaniem; typowa wartość dla Chrome na komputerach stacjonarnych wygląda jak "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36". Tokeny "Mozilla/5.0", "KHTML, like Gecko" oraz "Safari" są zachowywane ze względów historycznej kompatybilności.
- Od czasu ograniczenia User-Agent (wdrożonego od Chrome 101 do 110), Chrome zamraża wersję minorową do 0.0.0, używa stałych ciągów platformy stacjonarnej, a w Android przesyła stałe "Android 10; K" zamiast rzeczywistej wersji systemu operacyjnego i modelu urządzenia. Ta sama skrócona wartość pojawia się w navigator.userAgent i navigator.platform.
- Przeglądarki Chromium również domyślnie przesyłają wskazówki Client Hints o niskiej entropii — Sec-CH-UA (marki i główna wersja), Sec-CH-UA-Mobile oraz Sec-CH-UA-Platform. Serwer może poprosić o wskazówki o wysokiej entropii, takie jak wersja platformy, model, architektura lub pełna lista wersji, za pomocą nagłówka odpowiedzi Accept-CH, a przeglądarka decyduje, co zwrócić.
Dlaczego to ma znaczenie
- User agent jest jednym z pasywnych sygnałów w odciskach palców przeglądarki (browser fingerprint): dociera on z każdym żądaniem bez uruchamiania jakiegokolwiek skryptu.
- Systemy detekcji mogą porównywać ciąg User-Agent ze wskazówkami Client Hints i wartościami JavaScript (navigator.platform, rozmiar ekranu, obsługa dotyku). Profil, którego wartości są niespójne, wyróżnia się bardziej niż taki, który jest po prostu powszechny.
- Przeglądarki antidetect pozwalają każdemu profilowi ustawić własny user agent; dobre narzędzia utrzymują dopasowane wskazówki Client Hints, platformę i wersję silnika przeglądarki w spójności z nim.
Ograniczenia i powszechne błędne przekonania
- "Zmiana ciągu User-Agent zmienia mój odcisk palca przeglądarki". Zmienia ona jedną wartość; wskazówki Client Hints, API JavaScript, wyjście Canvas/WebGL i czcionki nadal opisują rzeczywistą konfigurację, chyba że zostaną one również zmienione w sposób spójny.
- "Ciąg User-Agent pokazuje mój dokładny system operacyjny i urządzenie". W ograniczonym Chrome już tego nie robi — Windows 8.1 i Windows 11 raportują oba "Windows NT 10.0", a urządzenia Android raportują "Android 10; K".
- "Rzadki lub bardzo nowy user agent jest bezpieczniejszy". Nietypowe lub niespójne wartości zawężają profil; powszechna, wewnętrznie spójna kombinacja jest mniej charakterystyczna.
Żadna przeglądarka ani proxy nie może zagwarantować, że konta nie zostaną ograniczone. Przestrzegaj zasad każdej platformy.
Powiązane terminy
- Fingerprint przeglądarki — Kombinacja cech przeglądarki i urządzenia, która może zidentyfikować przeglądarkę bez plików cookie.
- Canvas fingerprinting — Identyfikowanie urządzenia na podstawie drobnych różnic w sposobie renderowania rysunku na elemencie HTML canvas.
- Profil przeglądarki — Osobny zestaw danych przeglądarki — ciasteczka, historia, ustawienia, rozszerzenia — przechowywany oddzielnie od innych profili.
Powiązane przewodniki
Źródła
- MDN: Nagłówek User-Agent (dokumentacja przeglądarki)
- MDN: HTTP Wskazówki Client hints (dokumentacja przeglądarki)
- Chromium: Redukcja User-Agent (dokumentacja przeglądarki)
- Chrome for Developers: User-Agent Client Hints (dokumentacja przeglądarki)
Sprawdzono 2026-11-07.