Come si usa
- 1Inserisci un URL come
https://example.com/page, oppure solo un dominio:https://viene aggiunto automaticamente. - 2Fai clic su «Verifica gli header». Ogni redirect viene seguito un passaggio alla volta, fino a 10 redirect.
- 3Leggi la catena di redirect: ogni passaggio mostra il codice di stato, l’indirizzo e il tempo di risposta. Apri un passaggio per vederne gli header.
- 4Controlla gli header di sicurezza e tutti gli header di risposta della pagina finale, e copiali se devi condividerli.
Cosa significano i codici di stato HTTP
Ogni risposta inizia con un codice di stato di tre cifre. 2xx indica un successo: 200 OK è una pagina normale. I codici 3xx sono redirect che mandano il browser altrove. I codici 4xx sono errori del client, come 404 Not Found o 403 Forbidden, mentre i codici 5xx indicano un errore del server, come 500 Internal Server Error o 503 Service Unavailable.
Insieme al codice di stato viaggiano gli header. Dicono al browser di che tipo è il contenuto (Content-Type), per quanto tempo può essere memorizzato nella cache (Cache-Control), quali cookie salvare (Set-Cookie) e molto altro: informazioni che sulla pagina non vedi mai.
Redirect: 301, 302, 307 e 308
301 Moved Permanently e 308 Permanent Redirect indicano a browser e motori di ricerca che una pagina è stata spostata definitivamente, quindi link e posizionamento passano al nuovo indirizzo. 302 Found e 307 Temporary Redirect indicano che lo spostamento è temporaneo e il vecchio URL resta nei risultati di ricerca. 307 e 308 garantiscono inoltre che il metodo della richiesta non cambi, cosa importante per moduli e API.
Ogni passaggio in più costa un viaggio di andata e ritorno e rallenta la prima visita, quindi reindirizza i vecchi URL direttamente al loro indirizzo finale: http://example.com direttamente a https://www.example.com/, non in due passaggi. Google segue fino a 10 redirect consecutivi e i browser circa 20; i loop non finiscono mai.
Header di sicurezza da impostare
Strict-Transport-Security (HSTS) fa sì che i browser usino HTTPS per il tuo sito anche quando qualcuno digita http://. Content-Security-Policy limita le origini da cui possono essere caricati script e altre risorse, attenuando il cross-site scripting. X-Content-Type-Options: nosniff impedisce ai browser di indovinare il tipo dei file, e frame-ancestors o X-Frame-Options impediscono ad altri siti di inserire le tue pagine in un frame per il clickjacking.
Referrer-Policy controlla quanta parte dei tuoi URL viene inviata ad altri siti, e Permissions-Policy disattiva le funzionalità del browser che non usi, come la fotocamera o la geolocalizzazione. Nessuno di questi sostituisce un codice sicuro, ma insieme chiudono lacune comuni con pochissimo sforzo.
Domande frequenti
Come faccio a verificare se un redirect è un 301 o un 302?
Inserisci il vecchio URL e guarda la catena di redirect: ogni passaggio mostra il suo codice di stato. 301 e 308 sono permanenti, 302 e 307 temporanei. La catena mostra anche dove punta ogni redirect, così puoi individuare i passaggi superflui.
Come posso vedere gli header HTTP di un sito web?
Inserisci qui l’indirizzo: tutti gli header di risposta della pagina finale sono elencati in fondo. In un browser, apri gli strumenti per sviluppatori (F12), scegli la scheda Rete e fai clic sulla prima richiesta. In un terminale, curl -I https://example.com mostra gli header.
Perché questo strumento mostra header diversi da quelli del mio browser?
I server possono rispondere in modo diverso a seconda della richiesta. Il tuo browser invia cookie, supporta la compressione e ha un proprio user agent, e una CDN può servire una copia in cache o regionale. Questo strumento invia dal nostro server una semplice richiesta senza cookie, più o meno come fa il crawler di un motore di ricerca.
Cosa causa un loop di redirect?
I redirect riportano a un indirizzo già visitato, quindi il browser non raggiunge mai una pagina e mostra «troppi reindirizzamenti». Di solito sono due regole in conflitto – per esempio una CDN che reindirizza da HTTP a HTTPS mentre il server reindirizza da HTTPS di nuovo a HTTP – oppure un redirect di login che dipende da un cookie.
Quali header di sicurezza dovrebbe avere ogni sito web?
Almeno Strict-Transport-Security, X-Content-Type-Options: nosniff, la protezione dai frame con frame-ancestors o X-Frame-Options e una Referrer-Policy. Una Content-Security-Policy è la protezione più efficace ma richiede test, quindi inizia con una policy report-only e passa all’applicazione effettiva quando non si rompe più nulla.