The Four HTTP Security Headers Every Site Should Send
2026-09-02 · 6 min
When a browser loads your site, the first line of defense is not in your JavaScript - it is in a handful of response headers your server sends before any HTML arrives. Four of them matter more than the rest combined, and a surprising number of production sites - including large ones - still send none of them.
These four headers are exactly what NetChecks' HTTP Header Inspector grades, so this guide doubles as the manual for reading its verdict: what 'critical' means there, and what to do about it.
2008
nosniff appears
Internet Explorer 8 introduces the X-Content-Type-Options header to stop browsers from guessing a file's type when the server declares it wrongly - the quiet end of a whole class of content-confusion attacks.
2009
Clickjacking gets a fence
X-Frame-Options is deployed by the major browsers after clickjacking demonstrations show that invisible frames can trick users into clicking things they never saw.
2012
HSTS becomes RFC 6797
HTTP Strict Transport Security lets a site tell the browser 'never come back to this domain over plain HTTP', closing the downgrade and cookie-hijacking window that HTTPS alone left open.
2012
CSP arrives
Content Security Policy reaches version 1.0 at the W3C, giving sites an allowlist mechanism that turns reflected XSS from 'possible' into 'blocked by policy'.
Strict-Transport-Security: remember to be HTTPS
HTTPS without HSTS has a hole: the very first request a visitor makes can still be plain HTTP (a typed address, an old bookmark, a link without https), and an attacker in control of that network can answer it before the redirect to HTTPS ever happens. HSTS closes this by instructing the browser to remember - for the max-age you declare - that this domain speaks HTTPS only.
Deploy it conservatively: start with a small max-age, make sure every subdomain serves valid HTTPS before adding the includeSubDomains directive, and treat the preload directive as a one-way door - it is submitted to a public list and very hard to walk back.
The other three, in one breath
X-Content-Type-Options: nosniff stops the browser from second-guessing the Content-Type you declared - a user-uploaded file served as text cannot be reinterpreted as an executable script. X-Frame-Options: SAMEORIGIN (or its CSP grandchild frame-ancestors) forbids other sites from embedding your pages in invisible frames, which is what clickjacking needs to work.
Content-Security-Policy is the deepest of the four: a policy like script-src 'self' tells the browser which script sources are legitimate, so an attacker who manages to inject markup into your page still cannot make their payload execute. It takes the most care to deploy - start in report-only mode, watch the violations, then enforce.
Security headers travel with every response and instruct the browser before any of your code runs - which is why they must come from the server, not from the page itself.
How to adopt them without breaking anything
Add the easy two first - X-Content-Type-Options and X-Frame-Options rarely break anything - then HSTS with a short max-age, then CSP last and incrementally. A header you deploy in report-only mode gives you a violation log you can act on instead of a broken page users will report for you.
Verify each step with an inspector rather than trusting the deployment: a header set on HTML pages but not on API responses, or set only on some virtual hosts, is a gap you cannot see from the outside - except with exactly this kind of tool.
Reading a verdict like 'critical: missing headers'
When a checker reports three or four missing security headers as critical, it does not mean the site has been compromised - it means the browser is being asked to improvise where it could have been instructed. The severity reflects the size of the gap, not the certainty of an attack.
The fix is mechanical: add each header at the reverse proxy or application level, re-run the check, and watch the verdict move from critical to warning to good as the list empties. It is the highest ratio of security gained per hour spent in all of web hardening.
In sintesi
Four headers, one afternoon, and an entire attack surface quietly closes. Check your own site's headers, fix what is missing, and let the browser do the rest of the work on every page load.
Il tuo indirizzo IP pubblico e la posizione di rete, rilevati automaticamente.
Si carica automaticamente all'apertura di NetChecks — nessun dato da inserire. Usa il pulsante Aggiorna dopo aver cambiato rete o riconnesso la VPN.
Il tuo browser
Scansione All-in-One
Esegue in un'unica passata tutti i controlli rilevanti su un IP o hostname: DNS, whois, ping, traceroute, una scansione delle porte note (1-1024), header HTTP e certificato SSL.
Inserisci un dominio o un indirizzo IP ed esegui la scansione per controllare DNS, whois, ping, traceroute, porte comuni, intestazioni HTTP e certificato SSL in un solo passaggio.
La maggior parte dei controlli viene eseguita in parallelo - di solito termina in circa 30 secondi, di più se il target è lento o irraggiungibile.
Il passaggio di scansione delle porte viene eseguito solo se la casella di consenso sopra è selezionata - tutti gli altri controlli vengono eseguiti comunque.
Ping
Invia richieste echo ICMP a un host per verificare raggiungibilità e latenza.
Inserisci un nome host o un indirizzo IP e premi Ping per inviare richieste ICMP echo e misurare la latenza di andata e ritorno.
Scopri di più su Ping
Cos'è
Ping invia pacchetti ICMP Echo Request a un host e misura il tempo impiegato dai pacchetti ICMP Echo Reply per tornare indietro. È il test di connettività di rete più elementare che esista: risponde esattamente a una domanda, "questa macchina è raggiungibile, e con quale rapidità?". Il protocollo ICMP (RFC 792) è stato progettato nel 1981 specificamente per trasportare messaggi di controllo e diagnostica sulle reti IP, al di fuori di qualsiasi traffico applicativo - Ping ne è l'implementazione più nota e universalmente disponibile, presente praticamente su ogni sistema operativo e dispositivo di rete fin dalle prime versioni.
Come funziona
Ogni pacchetto ICMP trasporta un campo TTL (Time To Live) decrementato di uno a ogni router attraversato; se raggiunge zero prima di arrivare al target, il pacchetto viene scartato e un errore viene rimandato al mittente. Il tempo di andata e ritorno (RTT), misurato in millisecondi, riflette la latenza di rete cumulativa sull'intero percorso, non solo l'ultimo tratto vicino al target - un punto spesso frainteso, poiché un risultato di ping lento può avere la sua causa in qualsiasi punto del percorso, non necessariamente vicino al server testato. Un ping in genere invia più pacchetti di seguito anziché uno solo, il che permette di distinguere un picco di latenza occasionale da un problema ricorrente e di calcolare un tasso di perdita di pacchetti sul campione.
Interpretare i risultati
Un RTT basso e stabile - pochi millisecondi su una rete locale, tra 10 e 50 ms per una destinazione nello stesso paese, e notevolmente di più per un collegamento intercontinentale - indica una connessione sana. Anche una piccola perdita di pacchetti (oltre l'1-2%) è particolarmente dannosa per usi sensibili alla latenza come VoIP o sessioni remote interattive, dove ogni pacchetto perso si manifesta come un'interruzione o un'interferenza udibile. Una latenza molto variabile da un pacchetto all'altro (jitter) è spesso, per questi stessi usi, un problema maggiore di una latenza elevata ma perfettamente stabile. "Richiesta scaduta" significa che non è arrivata alcuna risposta entro il tempo previsto - l'host potrebbe essere effettivamente offline, un firewall potrebbe bloccare silenziosamente l'ICMP, oppure un percorso potrebbe essere interrotto in qualche punto del tragitto; "Destinazione irraggiungibile" è diverso e più informativo: un router intermedio ha esplicitamente rimandato indietro un messaggio dicendo di non essere riuscito a inoltrare il pacchetto, il che aiuta a circoscrivere dove si trovi realmente il problema.
Errori comuni
L'errore di interpretazione più comune è concludere che un host sia "offline" nel momento in cui un ping fallisce, quando in realtà moltissimi server e dispositivi - specialmente dietro un firewall ben configurato, o ospitati presso i grandi provider cloud - bloccano deliberatamente l'ICMP in ingresso per policy, pur essendo pienamente operativi e raggiungibili sui loro servizi reali (HTTP, un database, ecc.). L'assenza di risposta a un ping è quindi una prova significativa di inattività solo se combinata con altri segnali, come il fatto che anche l'applicazione stessa non risponda. Al contrario, un ping riuscito non garantisce affatto che il servizio applicativo ospitato su quella macchina funzioni correttamente - sono due livelli dello stack di rete del tutto indipendenti.
Quando usarlo
La prima cosa da verificare prima di escalare un ticket: la macchina risponde almeno, prima di indagare oltre? Confermare la connettività dopo una modifica a una regola firewall o a una tabella di routing, per assicurarsi che la modifica non abbia interrotto l'accesso. Stabilire una misurazione di latenza di riferimento prima di un rollout VoIP o di un failover di un collegamento operatore, in modo da avere un punto di confronto oggettivo se in seguito arrivano lamentele sulla qualità delle chiamate. Un controllo di stato periodico e leggero per un MSP che monitora più sedi cliente in parallelo, sempre come complemento - mai come sostituto - di un monitoraggio più approfondito a livello applicativo.
Traceroute
Traccia il percorso di rete (hop per hop) verso un host di destinazione.
Inserisci un nome host o un indirizzo IP ed esegui la scansione per vedere ogni salto di rete tra questo server e la destinazione, con la latenza di ciascun salto.
Ricerca DNS (Nslookup)
Interroga i record DNS: A, AAAA, MX, TXT, NS, CNAME, SOA, PTR, SRV, CAA.
Inserisci un dominio, scegli un tipo di record (A, AAAA, MX, TXT, NS, CNAME, SOA, PTR, SRV o CAA) ed esegui la ricerca.
Whois
Cerca le informazioni di registrazione per un dominio o un indirizzo IP.
Inserisci un dominio o un indirizzo IP per consultarne i dati di registrazione: registrar, organizzazione proprietaria e date importanti.
Controllo blacklist
Verifica se un indirizzo IP o un dominio è presente in blacklist pubbliche anti-spam/abuso (DNSBL).
Inserisci un indirizzo IPv4 o un dominio ed esegui per controllare contemporaneamente 7 blacklist pubbliche (DNSBL/RBL) - ciascuna viene mostrata come elencata, non elencata o controllo non riuscito.
Scansione porte TCP
Verifica se le porte TCP sono aperte su un host o IP: porte comuni, un elenco personalizzato o l'intero intervallo 1-65535.
Inserisci un host o un IP, scegli porte comuni, un elenco personalizzato o l'intervallo completo, quindi esegui la scansione per vedere quali porte TCP rispondono.
Una scansione dell'intero intervallo può richiedere fino a ~100 secondi. Le scansioni grandi (più di 100 porte, inclusi intervalli/elenchi personalizzati) sono limitate a 1 al minuto per visitatore.
Porte aperte (0)
Analizzatore di header HTTP
Recupera lo stato della risposta HTTP e gli header per un URL.
Inserisci un URL per ottenere il suo codice di stato HTTP e tutte le intestazioni di risposta inviate dal server.
Verifica certificato SSL/TLS
Esamina il certificato TLS di un host: emittente, date di validità e giorni rimanenti.
Inserisci un nome host per ispezionare il suo certificato TLS: emittente, date di validità e giorni rimanenti prima della scadenza.
Ricerca Geo-IP
Cerca la posizione geografica e le informazioni di rete per un indirizzo IP. Lascia vuoto per cercare il tuo indirizzo IP pubblico.
Inserisci un indirizzo IP qualsiasi, oppure lascia vuoto per cercare il tuo, per vedere la posizione approssimativa e le informazioni di rete/ISP.
Calcolato interamente nel tuo browser — nessun dato inviato al server.
Inserisci un indirizzo IP e un prefisso CIDR (es. 192.168.1.0/24) per calcolare all'istante l'intervallo di rete, l'indirizzo di broadcast e il numero di host utilizzabili.
Test di velocità
Test di base della velocità di download/upload rispetto a questo server (la precisione dipende dalla connessione in uplink del server stesso).
Premi Avvia per misurare la velocità di download e upload verso questo server. La precisione dipende dalla connessione di questo server.
Dizionario dei codici paese
Codici paese ISO 3166-1 alpha-2 — ricerca eseguita interamente nel tuo browser.
Cerca o sfoglia l'elenco dei codici paese ISO 3166-1 alpha-2, ricercato interamente nel tuo browser.
Paese
Codice ISO
Dizionario dei prefissi telefonici
Prefissi internazionali per paese — ricerca eseguita interamente nel tuo browser.
Cerca o sfoglia i prefissi telefonici internazionali per paese, ricercati interamente nel tuo browser.
Paese
Prefisso
Orologio mondiale
Scegli un fuso orario per vedere l'ora attuale — trascina il globo per farlo girare.
Scegli un fuso orario dall'elenco, oppure trascina il globo, per vedere l'ora attuale in quel luogo.
Il tuo orario
--:--:--
—
—
Orario selezionato
--:--:--
—
—UTC±00:00
Differenza rispetto a te—
—
Trascina per ruotare il globo.
Stato della rete mobile francese
Siti di antenne mobili guasti o in manutenzione in Francia, per operatore (Orange, Free, SFR, Bouygues Telecom), dai dati pubblici dell'ARCEP. Istantanea aggiornata una volta al giorno dall'ARCEP - non un flusso minuto per minuto.
Sfoglia i dati sui guasti delle antenne mobili e della fibra per operatore francese — nessun dato da inserire, aggiornato automaticamente dai dati pubblici di Arcep.
Fonte: ARCEP, dataset "Sites indisponibles", pubblicato con Licence Ouverte / Etalab 2.0 - riuso commerciale esplicitamente consentito, a differenza dei dati IODA/CAIDA usati in precedenza in questa scheda. Il badge Normale/Attenzione/Allerta è una stima interna (numero di guasti odierno rispetto alla mediana dei giorni precedenti), non una classificazione ufficiale dell'ARCEP. Link alle fonti qui sotto.
Dipartimenti più colpiti
Numero di siti attualmente guasti o in manutenzione, per dipartimento. Fai clic su un operatore sopra per filtrare.
Qualità della rete in fibra (FTTH) per operatore: tasso di guasti segnalati e tasso di errore di connessione, dai dati pubblici dell'ARCEP. Indicatori mensili, media mobile su 6 mesi - non un flusso in tempo reale come la sezione mobile.
Fonte: ARCEP, dataset "Qualité des réseaux en fibre optique", pubblicato con Licence Ouverte / Etalab 2.0 - riuso commerciale esplicitamente consentito. Link alle fonti qui sotto.
Per operatore (gruppo madre)
Medie sugli ultimi 6 mesi disponibili, per gruppo madre dell'operatore infrastrutturale.
NetChecks è fornito esclusivamente per scopi legittimi di diagnostica di rete ed educativi, su sistemi, domini e indirizzi IP di tua proprietà o per i quali sei esplicitamente autorizzato a effettuare test.
L'esecuzione di scansioni delle porte, ricerche DNS/whois, traceroute o altri controlli su sistemi di terze parti senza autorizzazione potrebbe violare le leggi sull'uso improprio dei computer nella tua giurisdizione (ad esempio il Computer Fraud and Abuse Act negli USA, la "Loi Godfrain" in Francia, o normative locali equivalenti). Sei l'unico responsabile di assicurarti di avere il diritto di testare qualsiasi target inserito qui.
Questo sito e i suoi risultati sono forniti "così come sono", senza garanzia di alcun tipo. Il gestore di questo sito non si assume alcuna responsabilità per eventuali danni diretti, indiretti o consequenziali, conseguenze legali o usi impropri derivanti dall'uso di questo sito.
Le richieste sono limitate in frequenza per prevenire abusi. L'operatore di questa istanza può abilitare facoltativamente la registrazione dell'attività delle richieste - in tal caso, ogni richiesta a uno strumento (il tuo indirizzo IP, la data/ora, lo strumento utilizzato e l'obiettivo/query inserito) potrebbe essere registrata in un database per finalità di sicurezza, prevenzione degli abusi e analisi dell'utilizzo. Questa funzione è disattivata per impostazione predefinita. Utilizzando questo sito accetti questi termini; se non sei d'accordo, non utilizzarlo.
L'uso programmatico (API) di questo sito è soggetto agli stessi termini, incluso il requisito di autorizzazione sopra indicato.
Invia feedback
Segnala un problema, lascia un commento o suggerisci una nuova funzionalità.
Questo sito utilizza annunci pubblicitari e, se accetti, cookie dei partner pubblicitari per contribuire a finanziare l'hosting. Puoi rifiutare e continuare a usare tutti gli strumenti senza pubblicità.