Referrer-Policy: cosa finisce nell'header Referer (non nel banner cookie)
Data Pubblicazione: 21/09/2026 | | Sicurezza

Referrer-Policy: cosa finisce nell'header Referer (non nel banner cookie)

Referrer-Policy è un header di risposta. Dice cosa della URL può finire in Referer. Il default è strict-origin-when-cross-origin. unsafe-url non si usa. Il banner cookie non lo imposta.

Il banner cookie non scrive l’header Referrer-Policy. Referrer-Policy è un header di risposta con cui il server dice al browser cosa può mettere nel campo Referer della richiesta successiva: origin, path, query, oppure niente. Il nome del campo, Referer, è uno sbaglio di ortografia. L’header della policy, Referrer-Policy, la doppia erre ce l’ha. Non è un plugin «privacy». Non è il consenso al marketing.

In breve: default nei browser, strict-origin-when-cross-origin. Same-origin: origin + path + query. Cross-origin HTTPS→HTTPS: solo origin. Downgrade HTTPS→HTTP: niente. unsafe-url manda path e query a chiunque. no-referrer non manda nulla. Verifica del 21 settembre 2026 su MDN.

Cosa trovi in questo articolo

  1. Cosa è Referrer-Policy (e cosa non è il banner)

  2. Le direttive: default, origin, unsafe-url

  3. Header, meta, rel=noreferrer

  4. Errori da evitare

  5. In sintesi

Cosa è Referrer-Policy (e cosa non è il banner)

MDN, sulla pagina dell’header Referrer-Policy, parte da un fatto: ogni navigazione, ogni immagine remota, ogni fetch() può spedire al destinatario l’indirizzo della pagina di partenza. Quell’indirizzo sta nell’header di richiesta Referer. Path e querystring ci stanno, se la policy lo consente. Frammento di sezione e credenziali nell’URL no. MDN avverte: il campo può avere conseguenze indesiderate su privacy e sicurezza. Un token in query, un ID di reset password, un percorso interno dell’admin: finiscono dal lato di un CDN, di un font, di un pixel, se la policy è larga.

Non è CORS. CORS decide quale origin può leggere una risposta. Non è la CSP: la CSP limita cosa la pagina può eseguire. Non è HSTS: HSTS impedisce di tornare in HTTP sul nome. Non è il cookie SameSite: SameSite decide se il cookie parte. Referrer-Policy decide cosa della propria URL si regala a terzi. Quattro mestieri. Il plugin che promette «privacy GDPR» e scrive solo il banner è un quinto script, sul piano sbagliato.

Questo pezzo sta nel cluster Sicurezza, accanto al mixed content — HTTP su una pagina HTTPS — e a SRI. SRI verifica i byte del CDN. Mixed content è il lucchetto che mente. Referrer-Policy è la URL che esce.

Le direttive: default, origin, unsafe-url

MDN marca l’header Baseline, widely available. Elenca le direttive. Una è il default, da revisione della spec del novembre 2020. Prima il default era no-referrer-when-downgrade.

DirettivaCosa spedisce il browser
no-referrerniente. L’header Referer non parte
strict-origin-when-cross-origin (default)same-origin: origin + path + query. Cross-origin con lo stesso livello di sicurezza: solo origin. HTTPS→HTTP: niente
strict-originsolo origin, e solo se il livello di sicurezza non scende. HTTPS→HTTP: niente
originsolo origin, anche sul downgrade
origin-when-cross-originsame-origin: origin + path + query. Cross-origin: solo origin, anche su HTTP
same-originorigin + path + query solo same-origin. Cross-origin: niente
no-referrer-when-downgradeorigin + path + query ovunque, tranne HTTPS→HTTP
unsafe-urlorigin + path + query a chiunque, anche su HTTP. MDN: lascia uscire informazioni potenzialmente private. Non si usa in produzione

Il default tiene il path in casa e manda solo l’origin ai terzi HTTPS. È già meglio del vecchio no-referrer-when-downgrade, che regalava l’intero URL a ogni CDN. Non basta se l’admin sta su https://app.example/clienti/123/edit e la pagina include uno script di terzi: l’origin esce lo stesso. Per quelle superfici si stringe a same-origin o no-referrer. unsafe-url è il valore di un tutorial copiato nel 2015.

Header, meta, rel=noreferrer

La policy si mette sulla risposta. MDN: header HTTP, oppure un meta con name=referrer e content=origin sul documento, oppure attributo referrerpolicy su link, immagini, iframe, script e fogli collegati. Si può anche mettere rel=noreferrer su un link. Attenzione all’ortografia, scrive MDN: la relazione è noreferrer, senza trattino; il meta è no-referrer, con il trattino. Due stringhe, un mestiere, un errore da copia-incolla.

Sull’header HTTP si possono elencare più valori, l’ultimo è quello desiderato, i precedenti sono fallback per browser vecchi: Referrer-Policy: no-referrer, strict-origin-when-cross-origin. Sull’attributo HTML la lista multipla non è supportata. I fogli CSS esterni usano il default, a meno che la risposta del CSS non porti un Referrer-Policy proprio. Un plugin «abilita privacy» che non tocca gli header del server non ha fatto il lavoro.

Si verifica sugli header della risposta, in staging, e sulla richiesta in uscita verso un terzo: DevTools, scheda Network, colonna Referer. Non sul lucchetto della home. Non sul testo del banner. Il certificato TLS cifra il transito; non decide cosa ci sta scritto dentro.

Errori da evitare

  • Lasciare unsafe-url «per le analytics»: path e query finiscono da un fornitore, token compresi.

  • Confondere rel="noreferrer" (senza trattino) con il meta no-referrer (con il trattino) e copiare la stringa sbagliata.

  • Trattare il banner cookie come Referrer-Policy: il consenso non scrive l’header.

  • Confondere Referrer-Policy con CORS, CSP o HSTS: tre header, tre mestieri, più questo.

  • Mettere token di sessione o reset password in query e affidarsi al default: same-origin il path esce comunque verso le proprie risorse.

  • Fidarsi del plugin «GDPR pack» senza leggere Referrer-Policy sulla risposta e Referer sulla richiesta al CDN.

In sintesi

Referrer-Policy è un header di risposta. Dice cosa della propria URL può finire in Referer. Il default è strict-origin-when-cross-origin. unsafe-url non si usa. Il banner cookie non lo imposta. Si verifica sugli header, non sul testo del consenso. MDN, 21 settembre 2026.

Domande Frequenti

MDN: un header di risposta con cui il server dice al browser quali dati della URL di partenza possono finire nell'header Referer della richiesta successiva. Non è il banner cookie, non è CORS, non è la CSP.
MDN: strict-origin-when-cross-origin. Same-origin manda origin, path e query. Cross-origin con lo stesso livello di sicurezza manda solo l'origin. Sul downgrade HTTPS→HTTP non manda nulla. È il default da revisione della spec del novembre 2020.
No. MDN: unsafe-url manda origin, path e query a qualunque destinazione, anche HTTP, e lascia uscire informazioni potenzialmente private. Non si usa.
No. Il consenso è un testo in pagina. Referrer-Policy è un header di risposta, oppure un meta name=referrer, oppure l'attributo referrerpolicy. Si verifica in Network, non sul testo del banner.
No. MDN: la relazione sui link è noreferrer, senza trattino. Il meta e l'header usano no-referrer, con il trattino. Copiarle a specchio è un errore.

Potrebbe interessarti anche...