Analizator nagłówków HTTP
Nagłówki HTTP przenoszą metadane dotyczące żądań i odpowiedzi. To narzędzie parsuje kompletne wiadomości HTTP, w tym linię żądania/statusu, nagłówki i treść. Analizuje nagłówki bezpieczeństwa (HSTS, CSP), uwierzytelnianie (Basic, Bearer), ciasteczka, konfigurację CORS i dyrektywy buforowania. Treść jest automatycznie formatowana i podświetlana składniowo na podstawie Content-Type (JSON, HTML, XML).
Specyfikacje
Typowe zastosowania
- Debugowanie żądań API skopiowanych z zakładki Sieć w DevTools przeglądarki
- Analiza wyjścia curl -i lub curl -v z nagłówkami i treścią
- Audyt nagłówków bezpieczeństwa pod kątem zgodności (zalecenia OWASP)
- Rozwiązywanie problemów z preflight CORS i żądaniami cross-origin
- Inspekcja nagłówków uwierzytelniania i konfiguracji ciasteczek
- Weryfikacja zachowania buforowania dla CDN i buforowania w przeglądarce
Funkcje
- Parsowanie pełnych żądań HTTP (GET /path HTTP/1.1)
- Parsowanie odpowiedzi HTTP z kodami statusu i frazami przyczyny
- Formatowanie i podświetlanie składniowe treści (JSON, HTML, XML, CSS)
- Dekodowanie nagłówków Authorization (poświadczenia Basic, tokeny Bearer)
- Analiza nagłówków bezpieczeństwa (HSTS, CSP, X-Frame-Options, X-Content-Type-Options)
- Parsowanie atrybutów Set-Cookie (Secure, HttpOnly, SameSite, wygaśnięcie)
- Wyodrębnianie i lista ciasteczek z nagłówków
- Wyświetlanie nagłówków CORS (Access-Control-Allow-Origin itp.)
- Wyjaśnianie dyrektyw Cache-Control (max-age, no-cache, private)
Przyklady
Odpowiedź API z treścią JSON
Wypróbuj →Kompletna odpowiedź HTTP z nagłówkami i treścią JSON, jak z wyjścia curl -i.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: max-age=3600, public
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
{
"status": "success",
"data": {
"id": 12345,
"name": "Example User"
}
}Żądanie HTTP z uwierzytelnianiem
Wypróbuj →Żądanie z uwierzytelnianiem tokenem Bearer i ciasteczkami.
GET /api/users HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/json
Cookie: session=abc123; theme=darkWskazowki
- Użyj "curl -i URL" aby dołączyć nagłówki odpowiedzi do wyjścia.
- W DevTools przeglądarki kliknij prawym przyciskiem żądanie i "Kopiuj jako cURL", aby uzyskać pełne żądanie.
- HSTS (Strict-Transport-Security) nakazuje przeglądarkom używać wyłącznie HTTPS dla domeny.
- CSP (Content-Security-Policy) kontroluje, które zasoby strona może ładować.
- Atrybut ciasteczka SameSite pomaga zapobiegać atakom CSRF.
Zrozumienie Analizator nagłówków HTTP
Nagłówki HTTP to pary klucz-wartość wysyłane między klientem a serwerem jako część każdego żądania i odpowiedzi HTTP. Przenoszą metadane o wiadomości: typ zawartości, dyrektywy buforowania, poświadczenia uwierzytelniania i polityki bezpieczeństwa. Nagłówki pojawiają się po linii żądania lub statusu i przed opcjonalną treścią, oddzielone od treści pustą linią.
Nagłówki żądania dostarczają kontekst o kliencie i pożądanej odpowiedzi. Host identyfikuje serwer docelowy. Accept i Content-Type negocjują format mediów. Authorization przenosi poświadczenia (Basic, Bearer, klucze API). Cookie wysyła przechowywane dane sesji. User-Agent identyfikuje oprogramowanie klienta.
Nagłówki odpowiedzi kontrolują, jak klient obsługuje zawartość. Cache-Control i ETag regulują zachowanie buforowania. Set-Cookie ustanawia stan po stronie klienta. Content-Security-Policy ogranicza ładowanie zasobów w celu łagodzenia XSS. Strict-Transport-Security wymusza HTTPS. Nagłówki CORS (Access-Control-Allow-Origin i powiązane) kontrolują udostępnianie zasobów cross-origin, co jest jednym z najczęściej błędnie konfigurowanych aspektów API webowych.
Zrozumienie nagłówków jest niezbędne do debugowania aplikacji webowych. Gdy API zwraca nieoczekiwane wyniki, nagłówki często ujawniają przyczynę: brakujący Content-Type, wygasły token uwierzytelniania, dyrektywa buforowania serwująca nieaktualne dane lub polityka CORS blokująca żądanie.
Dyrektywa Cache-Control to jeden z najczęściej źle rozumianych nagłówków. Dyrektywa no-cache nie oznacza "nie buforuj" — oznacza, że cache musi rewalidować z serwerem źródłowym przed użyciem zapisanej odpowiedzi. Odpowiedź nadal może być buforowana. Dyrektywa no-store to ta, która faktycznie zapobiega buforowaniu i powinna być używana dla wrażliwych danych. Dla często zmieniającej się zawartości, która korzysta z żądań warunkowych, no-cache w połączeniu z ETag lub Last-Modified jest odpowiednią strategią.
Błędy CORS pojawiają się, gdy żądanie przeglądarki do innego originu nie zawiera nagłówka odpowiedzi Access-Control-Allow-Origin. Serwer musi dołączyć ten nagłówek z originem żądającym lub * dla publicznych API. Gdy w grę wchodzą poświadczenia (ciasteczka lub nagłówki Authorization), wildcard nie jest dozwolony — nagłówek musi określać dokładny origin. Żądania preflight OPTIONS dodatkowo wymagają Access-Control-Allow-Methods i Access-Control-Allow-Headers. Uwierzytelnianie tokenem Bearer używa formatu Authorization: Bearer <token>, gdzie token to zazwyczaj JWT lub nieprzezroczysty token dostępu z procesu OAuth 2.0. W przeciwieństwie do ciasteczek, tokeny Bearer nie są wysyłane automatycznie — klient musi jawnie dołączać nagłówek do każdego żądania.
Każda strona internetowa powinna ustawić minimalny zestaw nagłówków bezpieczeństwa. Strict-Transport-Security (HSTS) zapewnia, że zawsze używany jest HTTPS. Content-Security-Policy łagodzi XSS, ograniczając ładowanie zasobów. X-Content-Type-Options: nosniff zapobiega wykrywaniu typu MIME. X-Frame-Options chroni przed clickjackingiem, a Referrer-Policy kontroluje, jakie informacje są wysyłane w nagłówku Referer. API powinny dodatkowo skonfigurować odpowiednie nagłówki CORS, aby kontrolować, które originy mogą wysyłać żądania.