My HTTP Headers

See exactly what your browser is sending — and what it reveals about you.

Wondering how unique your browser is? Check your browser fingerprint — the signals websites use to identify you without any cookies.

Check Your Fingerprint →

Czym są nagłówki HTTP?

Za każdym razem, gdy przeglądarka otwiera stronę internetową, nie wysyła tylko żądania strony — wysyła też pakiet metadanych wraz z tym żądaniem. Te metadane to nagłówki HTTP.

Nigdy nie wpisujesz tych nagłówków. Nigdy ich nie widzisz podczas normalnego przeglądania. Ale każdy odwiedzany serwer je odczytuje, a ujawniają one zaskakująco wiele na Twój temat: jakiej przeglądarki używasz, jaki masz system operacyjny, jakimi językami mówisz, skąd pochodzisz, czy jesteś za proxy i jaki rodzaj treści akceptujesz.

Żywy widżet powyżej pokazuje każdy nagłówek wysłany przez Twoją przeglądarkę. Poniżej znajduje się pełny, skategoryzowany przewodnik po typowych nagłówkach HTTP.

Co Twoje nagłówki ujawniają o Tobie

Niektóre nagłówki HTTP są technicznie niezbędne. Inne są odciskami tożsamości: połączone razem sprawiają, że Twoja przeglądarka jest jednoznacznie rozpoznawalna w internecie, nawet bez plików cookie.

  • Sam User-Agent zawęża Cię do kilku tysięcy osób. Czasem znacznie mniej, zależnie od kombinacji przeglądarki, systemu i architektury.
  • Accept-Language ujawnia Twój kraj i prawdopodobnie język ojczysty. Trackery używają go do budowania profili.
  • Client Hints (Sec-CH-UA-*) to nowsze, bardziej precyzyjne wersje User-Agent. Safari odmawia ich implementacji ze względu na prywatność.

Przewodnik po nagłówkach HTTP

~38 typowych nagłówków żądań, pogrupowanych według przeznaczenia.

Nagłówki identyfikacyjne

User-Agent#

Identifies your browser, version, rendering engine, and OS. The most fingerprintable single header. Combined with other data, it often makes you uniquely identifiable. Defined in RFC 9110 §10.1.5.

Sec-CH-UA#

"User-Agent Client Hints." A newer, structured replacement for User-Agent. Reveals browser brand and version in a machine-readable format. Sent by default in Chrome, Edge, and other Chromium browsers. Not sent by Safari or Firefox.

Sec-CH-UA-Platform#

Your OS family — "Windows", "macOS", "Linux", "Android", or "iOS". Sent by default in Chromium as a low-entropy hint.

Sec-CH-UA-Mobile#

?1 if you're on a mobile device, ?0 if not. Sent by default in Chromium alongside the other low-entropy Client Hints.

Język i negocjacja treści

Accept-Language#

Your preferred languages in priority order (e.g. en-US,en;q=0.9,fr;q=0.7). Servers use it to localize content; trackers use it to infer your country and native language.

Accept#

The MIME types your browser is willing to receive. Reveals which image formats and content types your browser supports — another fingerprinting signal.

Accept-Encoding#

Compression algorithms your browser supports (typically gzip, deflate, br, zstd). Lets the server send compressed responses to reduce transfer size.

Accept-Charset#

Character sets the client accepts. Almost always omitted by modern browsers — servers default to UTF-8 and this header became redundant.

Połączenie i łańcuch proxy

X-Forwarded-For#

The chain of IP addresses your request passed through. If you're behind a proxy or VPN, your real IP can still appear here as the leftmost address. Sites can read this to bypass simple VPN masking.

X-Real-IP#

Often set by reverse proxies (nginx, Caddy) to indicate the client's true IP, separate from the proxy chain.

CF-Connecting-IP#

Cloudflare's version of "your real IP." On any Cloudflare-protected site, this is what the origin server actually sees — not the Cloudflare edge node IP.

CF-IPCountry#

Two-letter country code Cloudflare detected from your IP (e.g. US, DE, IN).

CF-Ray#

Unique ID Cloudflare assigns to each request. Useful for debugging; useless for tracking you since it changes with every request.

Via#

Indicates intermediate proxies or gateways the request passed through. Rare for normal traffic; common in corporate networks and CDN chains.

Forwarded#

The standardized version of X-Forwarded-For (RFC 7239). Slowly replacing the older X-prefixed variants.

Pochodzenie i referrer

Referer#

The full URL of the page you came from. Reveals your browsing path to every site you visit. Many browsers now strip or shorten this for privacy. Note: yes, this is an official misspelling — the original 1996 spec (RFC 1945) had a typo, and it was too late to fix it.

Origin#

The scheme + host of the page making the request (no path, no query). Sent on cross-origin requests so the server can enforce CORS. Less leaky than Referer — it only reveals the site, not the specific page.

Bezpieczeństwo i metadane fetch

Sec-Fetch-Site#

Where the request originated: same-origin, same-site, cross-site, or none. Helps servers detect CSRF and SSRF attacks.

Sec-Fetch-Mode#

The mode: navigate (you clicked a link), cors, no-cors, same-origin, or websocket.

Sec-Fetch-Dest#

What the response is for: document, image, script, style, font, iframe, etc.

Sec-Fetch-User#

?1 if the request was triggered by user action (click, key press). Distinguishes user-initiated navigation from script-initiated requests.

Sec-Fetch-Storage-Access#

active or inactive — whether the request has access to unpartitioned cookies. Part of the Storage Access API (2024+), relevant for cross-site auth flows.

Buforowanie

Cache-Control#

Instructions to caches (browser, CDN, proxy) about freshness and storage. Defined in RFC 9111.

If-None-Match#

Sent with an ETag from a previous response. The server replies 304 Not Modified if the resource hasn't changed — saves bandwidth.

If-Modified-Since#

A timestamp from your last fetch. Same idea as If-None-Match, older mechanism.

If-Match#

Only proceed if the resource matches the given ETag. Used for optimistic concurrency control in REST APIs.

Pragma#

Legacy HTTP/1.0 cache directive. Modern browsers may still send Pragma: no-cachefor backward compatibility, but it's deprecated in favor of Cache-Control.

Ciasteczka i stan

Uwierzytelnianie

Authorization#

Carries credentials (Basic, Bearer/JWT, Digest). Browsers only send this on navigation after a 401 Unauthorized challenge, or when explicitly set by JavaScript (e.g. API calls).

Proxy-Authorization#

Same idea as Authorization, but credentials for the proxy itself rather than the destination server.

Kontrola połączenia i wydajność

Connection#

Usually keep-alive — keeps the TCP connection open for multiple sequential requests.

Host#

The domain you're connecting to. Required since HTTP/1.1 — allows virtual hosting on shared IPs.

Upgrade-Insecure-Requests#

1 if your browser prefers HTTPS responses over HTTP when both are available.

Save-Data#

on if the user has enabled "data saver" mode in the browser or OS. Sites can respond with lighter assets — smaller images, fewer fonts.

Priority#

Hints request priority (u= urgency, i= incremental) for HTTP/2 and HTTP/3 stream scheduling. Defined in RFC 9218.

Range#

Request only a byte range of the resource (e.g. bytes=0-1023). Used by video players, download managers, and resumable downloads.

Sygnały prywatności

DNT (Do Not Track)#

Set to 1 if you've enabled "do not track." Mostly ignored by sites — a polite request with no legal enforcement in most countries.

Sec-GPC (Global Privacy Control)#

1 if your browser signals "do not sell or share my personal data." Unlike DNT, GPC has legal standing under California's CCPA. Sent by Firefox by default, Brave, and DuckDuckGo browser; opt-in elsewhere.

Jak ograniczyć to, co ujawniają Twoje nagłówki

Nie możesz wyłączyć nagłówków HTTP. Ale możesz zmniejszyć ich zdolność identyfikowania Cię:

  • Używaj Firefoksa z privacy.resistFingerprinting = true (about:config).
  • Używaj przeglądarki Tor dla najsilniejszej obrony — wszyscy użytkownicy Tor prezentują identyczne nagłówki.
  • Używaj VPN, aby ukryć swój adres IP — ale pamiętaj, że nie zmienia to User-Agent ani innych sygnałów fingerprinting.
  • Wyłącz Client Hints w Chromium przez chrome://flags/#user-agent-reduction.
  • Usuń Referer za pomocą rozszerzenia przeglądarki (uBlock Origin tryb zaawansowany, uMatrix).

Jednorazowe zmiany zazwyczaj sprawiają, że jesteś bardziej wyjątkowy — bo mniej osób ma dokładnie tę konfigurację.

Często zadawane pytania

Jakie nagłówki HTTP wysyła Chrome?

Domyślnie: Host, User-Agent, Accept, Accept-Language, Accept-Encoding, Connection, Client Hints Sec-CH-UA, Sec-CH-UA-Mobile, Sec-CH-UA-Platform, rodzina Sec-Fetch-* i Upgrade-Insecure-Requests: 1.

Jakie nagłówki HTTP wysyła Safari?

Safari wysyła Host, User-Agent, Accept, Accept-Language, Accept-Encoding i Connection. Nie wysyła Client Hints Sec-CH-UA i domyślnie agresywniej usuwa Referer.

Jakie nagłówki HTTP wysyła Firefox?

Firefox wysyła Host, User-Agent, Accept, Accept-Language, Accept-Encoding, Connection i Upgrade-Insecure-Requests. Nie wysyła Client Hints.

Czy mogę ukryć moje nagłówki HTTP?

Nie całkowicie. Możesz podrabiać lub usuwać te identyfikujące, używając przeglądarek zorientowanych na prywatność lub rozszerzeń.

Czy mój User-Agent jest unikalny?

Często tak. Kombinacja przeglądarki + wersji + systemu + architektury zawęża większość użytkowników do kilku tysięcy na świecie.

Czym jest X-Forwarded-For?

Nagłówek dodawany przez proxy i CDN rejestrujący oryginalny IP klienta. Za VPN Twój prawdziwy IP może nadal pojawić się tutaj.

Dlaczego Referer jest błędnie napisany?

Specyfikacja HTTP/1.0 (RFC 1945, 1996) zawierała błąd. Poprawna pisownia to Referrer; nazwa nagłówka pozostaje Referer.

Czy nagłówki HTTP są prywatne?

Nie. Przez HTTPS są szyfrowane w transporcie. Przez HTTP wszyscy na ścieżce widzą wszystko.

Czy strona może zobaczyć mój prawdziwy IP przy VPN?

IP węzła wyjściowego VPN będzie w nagłówkach. Wycieki WebRTC i DNS mogą jednak ujawnić prawdziwy IP.

Jaka jest różnica między Referer a Origin?

Referer to pełny URL poprzedniej strony. Origin to tylko schemat + host — mniej ujawniający. Origin jest wysyłany przy cross-origin; Referer przy większości nawigacji.

Written by Pipo · myipco.com

Published · Last updated