Security

HTTP Headers

Visualizza header di risposta e verifica policy di sicurezza.

URL http or https (default https). Up to 3 redirects are followed.
https://github.com/
Status: 200 HTTP/1.1 96 ms
B
Security grade?
Score
82 / 100
Status
200
Protocol?
HTTP/1.1
Latency?
96 ms
Security audit
  • pass Strict-Transport-Security? +25/25
    HSTS is set with a long max-age — browsers will refuse plaintext HTTP for the next 6+ months.
    max-age=31536000; includeSubdomains; preload
  • pass Content-Security-Policy? +25/25
    CSP is set with reasonable defaults — script and style sources are restricted.
    default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net productionresultssa1.blob.core.windows.net productionresultssa2.blob.core.windows.net productionresultssa3.blob.core.windows.net productionresultssa4.blob.core.windows.net productionresultssa5.blob.core.windows.net productionresultssa6.blob.core.windows.net productionresultssa7.blob.core.windows.net productionresultssa8.blob.core.windows.net productionresultssa9.blob.core.windows.net productionresultssa10.blob.core.windows.net productionresultssa11.blob.core.windows.net productionresultssa12.blob.core.windows.net productionresultssa13.blob.core.windows.net productionresultssa14.blob.core.windows.net productionresultssa15.blob.core.windows.net productionresultssa16.blob.core.windows.net productionresultssa17.blob.core.windows.net productionresultssa18.blob.core.windows.net productionresultssa19.blob.core.windows.net github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com wss://production-copilot-host.webpubsub.azure.com edge.fullstory.com rs.fullstory.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com www.youtube-nocookie.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com user-images.githubusercontent.com private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com explore-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com images.ctfassets.net/8aevphvgewt8/; manifest-src 'self'; media-src github.com user-images.githubusercontent.com secured-user-images.githubusercontent.com private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com assets.ctfassets.net/8aevphvgewt8/ videos.ctfassets.net/8aevphvgewt8/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
  • pass X-Frame-Options / frame-ancestors? +15/15
    Clickjacking is blocked — page cannot be embedded in third-party iframes.
    deny
  • pass X-Content-Type-Options +10/10
    nosniff is set — browsers will not MIME-sniff non-script responses as JavaScript.
    nosniff
  • warn Referrer-Policy? +7/15
    Referrer policy leaks parts of the URL cross-origin — switch to strict-origin-when-cross-origin.
    origin-when-cross-origin, strict-origin-when-cross-origin
  • fail Permissions-Policy? +0/10
    No Permissions-Policy — third-party iframes can request sensitive features without restriction.
Response headers
date: Sun, 26 Jul 2026 18:12:49 GMT content-type: text/html; charset=utf-8 vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, X-GitHub-Client-Version, Accept-Language, Sec-Fetch-Site,Accept-Encoding, Accept, X-Requested-With content-language: en-US etag: W/"3f956f090971482e9a8d1fe36c4b9d2c" cache-control: max-age=0, private, must-revalidate strict-transport-security: max-age=31536000; includeSubdomains; preload x-frame-options: deny x-content-type-options: nosniff x-xss-protection: 0 referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net productionresultssa1.blob.core.windows.net productionresultssa2.blob.core.windows.net productionresultssa3.blob.core.windows.net productionresultssa4.blob.core.windows.net productionresultssa5.blob.core.windows.net productionresultssa6.blob.core.windows.net productionresultssa7.blob.core.windows.net productionresultssa8.blob.core.windows.net productionresultssa9.blob.core.windows.net productionresultssa10.blob.core.windows.net productionresultssa11.blob.core.windows.net productionresultssa12.blob.core.windows.net productionresultssa13.blob.core.windows.net productionresultssa14.blob.core.windows.net productionresultssa15.blob.core.windows.net productionresultssa16.blob.core.windows.net productionresultssa17.blob.core.windows.net productionresultssa18.blob.core.windows.net productionresultssa19.blob.core.windows.net github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com wss://production-copilot-host.webpubsub.azure.com edge.fullstory.com rs.fullstory.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com www.youtube-nocookie.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com user-images.githubusercontent.com private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com explore-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com images.ctfassets.net/8aevphvgewt8/; manifest-src 'self'; media-src github.com user-images.githubusercontent.com secured-user-images.githubusercontent.com private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com assets.ctfassets.net/8aevphvgewt8/ videos.ctfassets.net/8aevphvgewt8/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/ server: github.com accept-ranges: bytes set-cookie: _gh_sess=OuoC6Uz1Su3kBfAe7Ckvuhz7ZxbF1tcT4kqEkMC2a%2FqG065oh4Bwcj5MrIFvXeYyikJ4qgsAxdF5xHeNcpB00afTJyLFphA%2B1jX%2BGyHFzKtxSKDuETQ1oCsZsn9wTw2cSUOf4rl1MsDYIFX%2F2cy7FjvGhhU6C7Bk4D69TqzL7SS6JWsEDgK5etkkU%2FtvbiWQ39PVzHtgdcqTvQsbhd5JP8FfkvwxGbHlGzNrpftfSb4TfJpgFauONrWVhZxlHklys7RD0ASAT%2Fdq0tiW85d%2FRA%3D%3D--%2B2jKveHvBuvnvcXv--hDi%2FPPnVZWJzfRn3Neve3w%3D%3D; path=/; HttpOnly; secure; SameSite=Lax set-cookie: _octo=GH1.1.686493846.1785089580; expires=Mon, 26 Jul 2027 18:13:00 GMT; domain=.github.com; path=/; secure; SameSite=Lax set-cookie: logged_in=no; expires=Mon, 26 Jul 2027 18:13:00 GMT; domain=.github.com; path=/; HttpOnly; secure; SameSite=Lax x-github-request-id: ECE0:3B0CE5:2C0D599:22499BC:6A664E2C transfer-encoding: chunked
What does each field mean?

Field reference

Voto di sicurezza

Punteggio aggregato sugli header di sicurezza pesato per impatto: HSTS e CSP pesano di più. A+ richiede che tutti e cinque gli header siano impostati correttamente; F significa che nessuno è presente. Lo usi come prima indicazione rapida, poi approfondisca i risultati per singolo header.

Protocollo HTTP

HTTP/1.1 è il vecchio protocollo testuale. HTTP/2 multiplexa più stream su una singola connessione TCP (compressione degli header, server push). HTTP/3 viaggia su QUIC (UDP) — migliore su reti instabili o mobili. Un server moderno dovrebbe esporre almeno HTTP/2.

Latenza

Round-trip dal nostro server al target fino all'arrivo del primo byte di risposta. Non è un benchmark CDN — distanza geografica, handshake TLS e warm-up del server influiscono. Da usare come indicatore grezzo di freschezza, non come dato di performance reale.

Catena di redirect

Una catena lunga (3+ redirect) penalizza SEO e performance. Il pattern classico è <code>http://example.com → https://example.com → https://www.example.com</code>: due salti, accettabile. Oltre cinque è una configurazione errata.

Strict-Transport-Security (HSTS)

HSTS dice al browser "non collegarti più a me in HTTP in chiaro". <code>max-age=15768000</code> (6 mesi) è il minimo pratico; <code>includeSubDomains; preload</code> consente l'inclusione nella preload list globale. Una volta nel preload non si può uscire per ~12 mesi — prima sistemi tutto il resto.

Content-Security-Policy (CSP)

CSP autorizza da dove possono essere caricati script, stili, immagini e frame. <code>default-src 'self'</code> è una base ragionevole; <code>script-src</code> con nonce è la configurazione più robusta. Eviti <code>unsafe-inline</code> e <code>unsafe-eval</code> — annullano gran parte della protezione XSS di CSP. Usi report-uri / report-to per il monitoraggio.

X-Frame-Options

Imposti <code>DENY</code> per vietare qualsiasi framing, oppure <code>SAMEORIGIN</code> per consentire solo frame di origine identica. L'equivalente moderno è <code>frame-ancestors</code> in CSP (sintassi più ricca) — entrambe le scelte soddisfano il nostro audit.

Referrer-Policy

Determina cosa il browser invia nell'header <code>Referer</code>. <code>strict-origin-when-cross-origin</code> (default nei browser moderni) è una buona baseline: URL completo same-origin, solo origine cross-origin, niente in caso di downgrade. <code>no-referrer</code> rimuove tutto; <code>unsafe-url</code> fa trapelare l'URL completo in downgrade — da evitare.

Permissions-Policy

Successore di Feature-Policy. Permette di consentire / negare le API del browser per origine: <code>camera=(), microphone=(), geolocation=(self)</code>. È soprattutto defense-in-depth; applicato anche agli iframe, garantendo un comportamento più sicuro per i contenuti incorporati.

X-Content-Type-Options: nosniff

Senza questo header il browser può eseguire una risposta JSON come JavaScript se "sembra uno script". Impostare <code>X-Content-Type-Options: nosniff</code> obbliga a rispettare il Content-Type dichiarato. Header poco costoso, sempre sicuro da attivare — non c'è ragione valida per ometterlo.

Informazioni su questo strumento

HTTP Headers recupera il tuo URL con una vera richiesta HTTPS, cattura ogni header nella risposta (e ogni risposta intermedia lungo qualsiasi catena di redirect) ed esegue il risultato attraverso un audit di sicurezza che copre i moderni header di hardening: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options / CSP frame-ancestors, X-Content-Type-Options, Referrer-Policy e Permissions-Policy. Ogni header viene verificato per presenza, validità del valore e lacune rispetto alle best practice.

Oltre all'audit, elenchiamo ogni header testualmente così puoi confermare la policy di caching (Cache-Control, ETag, Vary), il tracciamento CDN (CF-Ray, X-Cache, X-Served-By), la compressione (Content-Encoding: br/gzip) e qualsiasi header personalizzato che il tuo stack emette. Il metodo HTTP (GET o HEAD), la versione HTTP negoziata (HTTP/1.1, HTTP/2, HTTP/3) e la versione TLS sono riportati nella barra della richiesta.

Quando usare questo strumento

  • Hardening della sicurezza. Prima del go-live, conferma che HSTS, CSP e gli altri siano impostati con valori sicuri — baseline Mozilla Observatory come minimo.
  • Debug della cache. Vedi esattamente quale Cache-Control e Vary emette il tuo CMS o framework — causa comune di "la vecchia versione che resta in giro".
  • Audit della catena di redirect. Individua catene accidentali 302-poi-301, loop HTTP-verso-HTTPS-verso-host-diverso e canonicalizzazione mancante.
  • Comportamento CDN. Conferma che Cloudflare/Fastly/CloudFront stia effettivamente memorizzando nella cache ciò che pensi leggendo Age, X-Cache e gli header specifici della CDN.

Cosa copre il nostro audit di sicurezza

Per ognuno dei sei header di hardening riportiamo: presente o mancante, il valore effettivo e un breve verdetto ("buono", "da rafforzare", "vulnerabile"). HSTS senza includeSubDomains, CSP con unsafe-inline o Referrer-Policy lasciato al default vengono segnalati. Non ti diciamo mai la policy "perfetta" perché ogni sito è diverso — ma ti diciamo quali manopole sono ancora alle impostazioni di fabbrica.

Domande frequenti

Cos'è HSTS e perché è importante?

Strict-Transport-Security dice al browser "usa sempre HTTPS per questo dominio, anche se l'utente ha digitato http:// o ha cliccato un link http://". Una volta impostato con un max-age ragionevole (tipicamente 31536000 = 1 anno), previene attacchi di SSL stripping nelle visite successive. Aggiungere includeSubDomains estende la protezione a ogni sottodominio — default forte per la maggior parte dei siti ma assicurati che tutti supportino davvero HTTPS prima.

Manca la mia CSP — quanto è pericoloso?

Senza CSP, qualsiasi falla XSS nel tuo sito viene eseguita con piena potenza: può esfiltrare cookie, caricare script controllati dall'attaccante o riscrivere il DOM. Una CSP iniziale di default-src 'self' blocca i payload XSS più comuni (script inline, caricamenti di script esterni) a costo quasi zero. Policy più strette che bandiscono completamente gli script inline richiedono refactoring ma offrono una protezione molto più forte.

Seguite i redirect?

Sì — fino a cinque hop. Ogni passo è mostrato con il suo metodo, status, location e header così puoi individuare hop a protocollo misto (HTTP→HTTPS), canonicalizzazione mancante (apex vs www) o loop accidentali. La maggior parte dei siti in produzione dovrebbe reindirizzare al massimo una volta (HTTP → HTTPS), poi servire i contenuti; più di due hop è di solito un segno di regole di rewrite sovrapposte.

Perché lo strumento mostra HTTP/2 anche se ho configurato HTTP/3?

HTTP/3 (QUIC su UDP) richiede che il client opti tramite l'header Alt-Svc alla prima connessione. Il nostro checker usa HTTP/2 su TCP per default, che è ciò che la maggior parte dei client HTTP fa ancora oggi; se il tuo server pubblicizza HTTP/3 in Alt-Svc, vedrai quell'header nel risultato, ma la risposta stessa è ancora su HTTP/2. La presenza di Alt-Svc è la cosa giusta da cercare.