Vedere gli header HTTP di un sito
Inserisci un URL per vedere cosa risponde il suo server, dove reindirizza e quali header di sicurezza mancano.
Come vedere gli header HTTP di un sito
Scrivi o incolla l'URL completo, con il percorso se vuoi controllare una pagina specifica.
Fai clic su «Controlla»: facciamo la richiesta dal nostro server e seguiamo i reindirizzamenti, come un browser.
Controlla la catena di reindirizzamenti, gli header di sicurezza mancanti e l'elenco completo della risposta finale.
Cosa sono gli header HTTP
Ogni volta che richiedi una pagina, il server risponde con un codice di stato (200, 301, 404…) e un elenco di header prima del contenuto. Gli header non si vedono nella pagina, ma decidono molte cose: il tipo di contenuto, per quanto tenerlo in cache, i cookie, la compressione, i reindirizzamenti e le regole di sicurezza che il browser deve applicare.
Controllarli serve a fare il debug dei reindirizzamenti, verificare la cache di una CDN, confermare che un sito imponga HTTPS o fare un audit della sua sicurezza.
I codici di stato più comuni
- 200 OK: la pagina esiste e viene servita.
- 301 Moved Permanently: reindirizzamento permanente. È quello giusto per la SEO quando cambi un URL, perché trasferisce il posizionamento.
- 302 Found e 307 Temporary Redirect: reindirizzamenti temporanei. I motori di ricerca mantengono l'URL originale.
- 308 Permanent Redirect: come il 301, ma mantenendo il metodo (un POST resta POST).
- 403 Forbidden: il server si rifiuta di servirla (a volte perché blocca i bot).
- 404 Not Found: non esiste.
- 500 e 503: errore del server o servizio non disponibile.
Una buona configurazione fa un solo reindirizzamento da http://example.com a https://www.example.com (o viceversa), non una catena di più passaggi.
Gli header di sicurezza che ogni sito dovrebbe avere
- Strict-Transport-Security (HSTS): impone HTTPS per il tempo indicato. Valore tipico: max-age=31536000; includeSubDomains.
- Content-Security-Policy: elenco delle origini consentite per script e risorse. È il più potente e il più delicato da configurare; inizia con Content-Security-Policy-Report-Only.
- X-Content-Type-Options: nosniff.
- X-Frame-Options: DENY o SAMEORIGIN (oppure frame-ancestors nella CSP).
- Referrer-Policy: strict-origin-when-cross-origin è un buon compromesso.
- Permissions-Policy: disattiva ciò che non usi, per esempio camera=(), microphone=(), geolocation=().
Conviene anche nascondere Server e X-Powered-By, che danno solo indizi a un attaccante.
Come facciamo la richiesta
Richiediamo la pagina dal nostro server con una normale richiesta GET, leggiamo solo gli header (non scarichiamo il contenuto) e seguiamo fino a cinque reindirizzamenti. Per sicurezza interroghiamo solo indirizzi pubblici sulle porte 80, 443, 8080 e 8443, mai una rete interna.
Tieni presente che alcuni server rispondono in modo diverso a seconda di chi chiede: una CDN può restituire un'altra cache in base al paese, e alcuni siti bloccano le richieste automatiche con un 403. Se qualcosa ti sembra strano, confrontalo con la scheda Rete degli strumenti per sviluppatori del browser.
Domande frequenti
Come verifico se un reindirizzamento è 301 o 302?
Inserisci l'URL di partenza: la tabella delle risposte mostra il codice di ogni passaggio. Per la SEO, un cambio definitivo di URL deve essere un 301 (o 308).
Perché ottengo 403 se il sito funziona nel mio browser?
Alcuni siti e CDN bloccano le richieste che non arrivano da un vero browser, o quelle provenienti dai data center. Non significa che il sito sia offline.
Come aggiungo gli header di sicurezza al mio sito?
Nella configurazione del server (add_header in Nginx, Header set in Apache), nella tua CDN (Cloudflare, per esempio, permette di aggiungerli con delle regole) o dall'applicazione stessa. Poi ricontrollali qui.
Viene scaricato il contenuto della pagina?
No. Leggiamo solo la riga di stato e gli header, poi chiudiamo la connessione. Non salviamo né l'URL né la risposta.