Przejdź do treści
Can AI see it

Sprawdź, co widzi AI. Zmierz, ile to warte.

Jaki jest mój User Agent?

Twój user agent to ciąg tekstu, który Twoja przeglądarka lub aplikacja wysyła przy każdym żądaniu, aby się zidentyfikować. Oto Twój, odczytany na żywo z nagłówka HTTP, który właśnie wysłała Twoja przeglądarka:

Twój user-agent string

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

Wykryty po stronie serwera z nagłówka HTTP User-Agent tego żądania.

Czym dokładnie jest User Agent?

User agent to każde oprogramowanie, które działa w imieniu użytkownika, komunikując się z serwerami WWW. W praktyce pod tym pojęciem prawie zawsze kryje się user-agent string — linia tekstu wysyłana w nagłówku HTTP User-Agent przy każdym żądaniu Twojej przeglądarki, aplikacji lub skryptu.

Gdy ładujesz stronę, Twoja przeglądarka po cichu przekazuje serwerowi między innymi coś takiego:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36

Ten jeden ciąg identyfikuje przeglądarkę (Chrome 122), silnik renderowania (Blink, pochodny WebKit), system operacyjny (Windows 10 64-bit) oraz kilka historycznych deklaracji zgodności. Serwer odczytuje go przed odpowiedzią i może na jego podstawie dostosować, co odeśle.

Rozkładanie User-Agent na części

User-agent stringi wyglądają chaotycznie, bo przez 30 lat wojen o zgodność między przeglądarkami nagromadziły w sobie kolejne tokeny. Dla ułatwienia weźmy na warsztat typowy ciąg nieco starszej wersji przeglądarki — Chrome 122 — i zobaczmy, co oznacza każda jego część:

  • Mozilla/5.0 — Token historyczny. Prawie każda przeglądarka udaje „Mozillę", żeby zachować zgodność ze starymi serwerami, które pełną wersję strony wysyłały tylko Netscape'owi.
  • (Windows NT 10.0; Win64; x64) — System operacyjny i architektura. Windows NT 10.0 to Windows 10/11; Macintosh; Intel Mac OS X 10_15_7 to macOS; X11; Linux x86_64 to Linux.
  • AppleWebKit/537.36 (KHTML, like Gecko) — Kolejna zgodnościowa teatralność. Chrome używa silnika Blink (forka WebKit), który pierwotnie pochodził z KHTML. Przeglądarki deklarują „like Gecko", aby kod przygotowany pod Firefoxa nadal działał.
  • Chrome/122.0.0.0 — Faktyczna nazwa i wersja przeglądarki. To zazwyczaj jedyny fragment, który naprawdę jest prawdziwy.
  • Safari/537.36 — Historyczny artefakt zgodności. Liczba 537.36 to konkretna, zamrożona wersja silnika WebKit z czasów, gdy Google w 2013 roku stworzył na jego bazie silnik Blink używany w Chrome. Od tamtej pory ten numer został na stałe w nagłówkach Chrome, mimo że silnik poszedł już zupełnie inną drogą.

Boty odpuszczają większość tej teatralności. Typowy crawler ma znacznie czystszy user-agent:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

Zwróć uwagę na link +http://… — porządne boty zamieszczają adres do dokumentacji wyjaśniającej, co robią. Pełną listę user-agentów crawlerów znajdziesz w katalogu botów.

Dlaczego strony zwracają uwagę na Twój User Agent

User-agent string to pierwszy sygnał, jaki serwer ma o tym, kto jest po drugiej stronie połączenia. Strony używają go z kilku praktycznych powodów:

  • Wykrywanie urządzenia i układu. Mobilny user-agent może wywołać inny układ, mniejsze obrazy lub przekierowanie na subdomenę m.
  • Obejścia dla konkretnych przeglądarek. Niektóre CSS-y lub JavaScript wymagają innego kodu w Safari i Chrome. User agent mówi serwerowi (lub klientowi), którą ścieżką pójść.
  • Wykrywanie botów. Samoidentyfikujące się crawlery jak Googlebot czy GPTBot mówią kim są właśnie w user-agent. Strony wykorzystują to, aby stosować różne cache'owanie, limity lub reguły dostępu.
  • Analityka i logi. Serwer zapisuje user-agent przy każdym żądaniu, dzięki czemu później widać, ile ruchu to Chrome, Safari, a ile to boty.
  • Bramki zgodności. Niektóre aplikacje odmawiają uruchomienia w nieobsługiwanych przeglądarkach na podstawie user-agent.

Czy można zmienić User Agent?

Tak — i jest to zaskakująco proste. Każda przeglądarka pozwala nadpisać user-agent na potrzeby testów:

  • Chrome / Edge: DevTools → More tools → Network conditions → odznacz „Use browser default" → wybierz preset lub wklej własny string.
  • Firefox: about:config → ustaw general.useragent.override na dowolny tekst.
  • Safari: menu Develop → User Agent → wybierz lub wpisz własny.
  • Wiersz poleceń: curl -A "MojWlasnyAgent/1.0" https://example.com wysyła co chcesz.

To się nazywa podmiana user agent (user-agent spoofing). Przydaje się do testowania widoku mobilnego z desktopu, odtwarzania zgłoszeń błędów albo udawania wyszukiwarki, żeby zobaczyć wersję cache'owaną strony za paywallem. Dokładnie tak samo łatwo używają tego scrapery, żeby podszywać się pod prawdziwe przeglądarki — albo pod Googlebota, żeby przemknąć się przez whitelistę.

Ponieważ podmiana jest tak prosta, każdy system, który podejmuje ważne decyzje wyłącznie na podstawie user-agent, jest zepsuty. Dlatego poważna identyfikacja botów łączy user-agent string z weryfikacją odwrotnym DNS, sprawdzaniem zakresów IP i analizą behawioralną. Pełny obraz znajdziesz w artykule jak wykryć ruch botów.

User Agent a prywatność

Twój user-agent string nie identyfikuje Cię personalnie, ale ujawnia sporo informacji: system operacyjny i jego wersję, przeglądarkę i jej wersję, czasem model urządzenia. W połączeniu z adresem IP, rozdzielczością ekranu, zainstalowanymi czcionkami i innymi sygnałami eksponowanymi przez przeglądarkę tworzy cyfrowy odcisk przeglądarki (fingerprint), który potrafi być na tyle unikalny, że pozwala śledzić Cię między stronami bez użycia ciasteczek.

Z tego powodu przeglądarki stopniowo ograniczają to, co trafia do user-agent:

  • Chrome User-Agent Reduction (rolling out 2022–2023) zamraża numery wersji drugorzędnej i spłaszcza szczegóły platformy, żeby zmniejszyć powierzchnię fingerprintingu.
  • Safari zaokrągla wersję systemu do ustalonej wartości i od 2020 roku skraca swój string.
  • User-Agent Client Hints to nowszy standard, w którym przeglądarka domyślnie wysyła jedynie podstawowe, odchudzone nagłówki (Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform) z każdym żądaniem. Jeśli serwer potrzebuje bardziej szczegółowych informacji (np. dokładnego modelu urządzenia), musi o nie jawnie poprosić, wysyłając w odpowiedzi nagłówek Accept-CH.

Jeśli zależy Ci na ochronie przed fingerprintingiem (śledzeniem), zmiana samego user-agent niewiele pomoże — reszta sygnałów zazwyczaj wystarczy do identyfikacji. Narzędzia takie jak Tor Browser dają wszystkim użytkownikom identyczny user-agent i równolegle normalizują resztę fingerprintu.

User Agent a boty

User agent to sposób, w jaki większość botów się przedstawia. Kulturalne crawlery trzymają się luźnej konwencji: token zgodności, nazwa bota z wersją i URL do dokumentacji. Na przykład:

  • Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot)
  • Mozilla/5.0 (compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
  • Mozilla/5.0 (compatible; PerplexityBot/1.0; +https://perplexity.ai/perplexitybot)

Ponieważ sprawdzenie user-agent to najprostszy sposób na przepuszczenie lub zablokowanie crawlera, reguły w robots.txt prawie zawsze pisze się pod tokeny user-agent:

User-agent: GPTBot
Disallow: /

User-agent: Googlebot
Allow: /

Ale pamiętaj: user agent to samooświadczenie. Scraper może ustawić swój user-agent na Googlebot/2.1 i każdy system, który ufa user-agent bez weryfikacji, potraktuje go jak prawdziwy ruch Google'a. Jedyny pewny sposób to weryfikacja IP przez odwrotny DNS lub listę IP publikowaną przez operatora.

Najczęściej zadawane pytania

Skąd bierze się user-agent string?

Generuje go sama przeglądarka przy starcie, na podstawie swojej wersji kompilacji, Twojego systemu operacyjnego i aktualnych konwencji producenta. Potem jest wysyłany jako nagłówek HTTP User-Agent przy każdym żądaniu.

Czy user agent to to samo co adres IP?

Nie. Adres IP identyfikuje punkt końcowy w sieci; user agent identyfikuje oprogramowanie wykonujące żądanie. Oba są wysyłane z każdym żądaniem i pojawiają się w logach serwera, ale odpowiadają na inne pytania.

Czy tryb incognito lub prywatny zmienia mój user agent?

Nie. Okna prywatne wysyłają dokładnie taki sam user-agent string jak zwykłe. Tryb ten wpływa głównie na ciasteczka, historię i cache — nie na nagłówki wychodzące.

Czy dwóch użytkowników może mieć taki sam user agent?

Cały czas. Każdy, kto używa Chrome 122 na Windows 11, wysyła zasadniczo taki sam user-agent string. Sam w sobie to nie jest unikalny identyfikator.

Jak sprawdzić user agent bez JavaScriptu?

Ramka na górze tej strony jest renderowana po stronie serwera z nagłówka User-Agent — bez potrzeby JavaScriptu. Dlatego działa również dla botów i narzędzi z wiersza poleceń, takich jak curl.

Can AI See It identyfikuje i weryfikuje ponad 800 botów na Twojej stronie w czasie rzeczywistym — w tym wykrywanie fałszywych botów, analitykę per crawler i śledzenie ruchu z AI. Jeśli chcesz wiedzieć nie tylko jakie user-agenty odwiedzają Twoją stronę, ale które z nich faktycznie warto wpuszczać, zacznij monitorować ruch botów.