Sprawdzanie nagłówków HTTP

Analiza nagłówków odpowiedzi HTTP: bezpieczeństwo, cache, kompresja, CORS.

Sprawdzanie nagłówków HTTP — Bezpieczeństwo i buforowanie

Sprawdź nagłówki odpowiedzi HTTP: nagłówki bezpieczeństwa (CSP, HSTS, X-Frame-Options), cache i kompresję. Procentowa ocena obecności nagłówków bezpieczeństwa i pełna lista nagłówków, w tym X-Robots-Tag.

Analiza nagłówków bezpieczeństwa serwera
Sprawdzanie CSP, HSTS, X-Frame-Options
Ocena bezpieczeństwa w procentach
Sprawdzanie buforowania i kompresji
Pełna lista nagłówków odpowiedzi

Jak korzystać

  1. Wpisz URL do sprawdzenia nagłówków
  2. Kliknij „Sprawdź” do analizy
  3. Sprawdź ocenę bezpieczeństwa i listę nagłówków

Use Cases

  • Szybki security-check nagłówków na dev/staging/prod.
  • Weryfikacja polityki cache i CORS dla stron oraz API.

Limitations

  • Pokazuje nagłówki dla jednego URL, a nie całej struktury.
  • Część nagłówków dodawana jest tylko na edge/CDN i zależy od ścieżki.

Example Input / Output

Przykład wejścia
https://example.com
Przykład wyniku
Security score B: brak Content-Security-Policy i X-Frame-Options.

FAQ

HSTS wymusza HTTPS, X-Content-Type-Options zapobiega MIME-sniffingowi, CSP chroni przed atakami XSS. Google uwzględnia bezpieczeństwo w rankingu, a Chrome oznacza niebezpieczne strony.

Cache-Control i Expires pozwalają przeglądarkom buforować zasoby statyczne lokalnie. To przyspiesza ponowne ładowanie strony, poprawia Core Web Vitals i pozytywnie wpływa na SEO.

Sprawdzanie nagłówków HTTP: co pokazuje raport

Narzędzie wysyła pod podany adres zwykłe żądanie GET (nie HEAD), podąża za przekierowaniami — do 10 kroków — i pokazuje nagłówki ostatecznej odpowiedzi. Sam łańcuch przekierowań nie jest wyświetlany; każdy krok z kodem statusu zobaczysz w sprawdzaniu przekierowań.

Raport ma cztery części: przegląd (status HTTP, czas odpowiedzi, HTTPS lub HTTP, liczba nagłówków i wartość Server), „Nagłówki bezpieczeństwa”, pełną tabelę „Wszystkie nagłówki odpowiedzi” oraz „Cache i wydajność”.

Żądanie wychodzi z User-Agentem PromoPilot SEO Tools. Jeśli strona stoi za WAF-em lub ochroną antybotową, możesz zobaczyć status 403 lub 503 i nagłówki strony z wyzwaniem zamiast prawdziwej odpowiedzi. Wtedy porównaj wynik z poleceniami curl poniżej.

Jak liczona jest ocena bezpieczeństwa

TestPunkty
Docelowy adres działa przez HTTPS20
Strict-Transport-Security15
Content-Security-Policy15
X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policypo 10
X-XSS-Protection, X-Permitted-Cross-Domain-Policiespo 5

Liczy się tylko obecność nagłówka, a nie jego wartość. Strict-Transport-Security: max-age=0 albo CSP z 'unsafe-inline' dostaną pełną pulę, choć chronią niewiele. Natomiast polityka wysłana jako Content-Security-Policy-Report-Only nie jest liczona wcale, bo narzędzie szuka dokładnej nazwy nagłówka. Dlatego czytaj wartości — są wypisane pod każdym znalezionym nagłówkiem.

Jakie wartości nagłówków bezpieczeństwa ustawić

NagłówekWartość roboczaUwagi
Strict-Transport-Securitymax-age=31536000; includeSubDomainsWłączaj dopiero, gdy wszystkie subdomeny działają po HTTPS; zacznij od krótkiego max-age
X-Content-Type-OptionsnosniffJedyna poprawna wartość
X-Frame-OptionsSAMEORIGIN lub DENYNowocześniejszy odpowiednik to dyrektywa CSP frame-ancestors
Referrer-Policystrict-origin-when-cross-originInne strony widzą Twoją domenę, ale nie ścieżkę i parametry
Permissions-Policycamera=(), microphone=(), geolocation=()Wyłącz API, z których strona nie korzysta
Content-Security-PolicyZależy od stronyNajpierw wdroż jako Report-Only, zbierz naruszenia, potem egzekwuj
X-XSS-Protection0Filtr usunięto z nowoczesnych przeglądarek; narzędzie daje punkty za każdą wartość, zalecana to 0

nginx

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Permissions-Policy "camera=(), microphone=(), geolocation=()" always;

Pułapka nginx: jeśli blok location ma choć jedną własną dyrektywę add_header, nie dziedziczy żadnej z poziomu server. Efekt: nagłówki są na stronie głównej, a znikają na plikach statycznych lub w jednej sekcji. Sprawdź kilka różnych adresów.

Apache i .htaccess

<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  Header always set X-Frame-Options "SAMEORIGIN"
  Header always set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

WordPress i platformy hostowane

W WordPressie nagłówki najprościej ustawić w .htaccess lub konfiguracji serwera. Z kodu motywu działa hook send_headers z funkcją header(), ale tylko dla odpowiedzi generowanych przez PHP — obrazy i pliki statyczne ich nie dostaną. Na platformach takich jak Shoper, Wix czy Shopify konfiguracji serwera nie zmienisz; własne nagłówki doda tylko proxy przed stroną, np. reguły modyfikacji nagłówków odpowiedzi w Cloudflare.

Typowe problemy widoczne w raporcie

  • Ten sam nagłówek dwa razy. Dwa wiersze X-Frame-Options lub Cache-Control z różnymi wartościami oznaczają, że dodaje je i CMS, i serwer (albo serwer i CDN). Przeglądarki reagują wtedy nieprzewidywalnie — zostaw jedno źródło.
  • Wersja oprogramowania na widoku. Server: nginx/1.18.0 czy X-Powered-By: PHP/7.4 podpowiadają atakującemu, jakie luki sprawdzić. W nginx wersję ukrywa server_tokens off;, w PHP — expose_php = Off.
  • HSTS w odpowiedzi HTTP. Przeglądarki przyjmują Strict-Transport-Security tylko przez HTTPS; w odpowiedzi po HTTP nic nie daje.
  • Nagłówki znikają przy błędach. Bez parametru always nginx nie dodaje nagłówków do odpowiedzi 4xx i 5xx. Przy okazji sprawdź nieistniejący adres: powinien zwracać 404, a nie 200.
  • Cache CDN. Nagłówki takie jak cf-cache-status, X-Cache i Age pokazują, czy strona przyszła z cache CDN, czy z Twojego serwera.

Ocenę literową od A do F dla tego samego zestawu nagłówków bezpieczeństwa daje osobne narzędzie — sprawdzanie nagłówków bezpieczeństwa.

Nagłówki cache i kompresji

  • Strony HTML zwykle wysyła się z Cache-Control: no-cache lub krótkim max-age, żeby zmiany były widoczne od razu.
  • Pliki statyczne z hashem w nazwie — Cache-Control: public, max-age=31536000, immutable.
  • ETag i Last-Modified pozwalają odpowiadać 304 Not Modified. Google informował, że jego roboty obsługują takie żądania warunkowe, co oszczędza budżet indeksowania dużych serwisów.
  • Content-Encoding: narzędzie deklaruje, że przyjmuje skompresowane odpowiedzi, więc brak nagłówka zwykle oznacza HTML bez gzip i Brotli. Szczegóły pokaże sprawdzanie kompresji.
  • Vary: Accept-Encoding jest potrzebny przy kompresji, żeby CDN nie podał skompresowanej wersji klientowi, który jej nie obsługuje.

X-Robots-Tag i inne nagłówki ważne dla SEO

Narzędzie ich nie ocenia, ale znajdziesz je w tabeli „Wszystkie nagłówki odpowiedzi”:

  • X-Robots-Tag: noindex wyklucza stronę z indeksu tak samo jak meta robots — nawet jeśli HTML jest w porządku. Częsta przyczyna to reguła ze środowiska testowego przeniesiona na produkcję. Więcej w dokumentacji Google.
  • Link: <…>; rel="canonical" — adres kanoniczny dla PDF i innych plików bez HTML.
  • Content-Type z charset=utf-8 — bez kodowania w opisie wyniku mogą pojawić się „krzaki” zamiast polskich znaków.
  • Set-Cookie w każdej odpowiedzi utrudnia cache w CDN.
location ~* \.pdf$ {
    add_header X-Robots-Tag "noindex, nofollow";
}

Które adresy sprawdzić

Nagłówki ustawiają reguły serwera, CMS i CDN, więc na różnych adresach często się różnią. Dla pełnego obrazu sprawdź pięć–sześć URL: stronę główną, kategorię, kartę produktu lub artykuł, dowolny plik CSS albo obraz, PDF (jeśli jest) i celowo nieistniejącą stronę. Różnice między nimi to gotowa lista poprawek.

Sprawdzanie nagłówków przez curl -I i DevTools

# Same nagłówki (żądanie HEAD)
curl -I https://example.com/

# Nagłówki zwykłego GET z przejściem przez wszystkie przekierowania
curl -sSL -D - -o /dev/null https://example.com/

# Czy serwer wysyła Brotli lub gzip
curl -sI -H "Accept-Encoding: br, gzip" https://example.com/ | grep -i content-encoding

curl -I wysyła HEAD, a część serwerów i CDN odpowiada na HEAD inaczej niż na GET — przy rozbieżnościach ufaj drugiemu poleceniu. W przeglądarce te same dane znajdziesz w DevTools: Network → żądanie dokumentu → Headers.

Jeśli chodziło Ci o nagłówki H1–H6 w treści strony, to inne zadanie — strukturę nagłówków pokaże analiza on-page.

Popraw pozycje w wyszukiwarce

Problemy SEO mogą kosztować Cię ruch. Kaskadowy link building poprawi widoczność strony w wyszukiwarce.

Kaskadowa promocja witryny linkami Bonus 30 $Linki zwrotne 5→50→5000 w ponad 100 serwisach. Start od 30 $, bonus 30 $ dla nowych.