Sec-Fetch-Dest è un header di richiesta. Il browser dice se la risorsa è document, image, script o empty. Non è CORS. Non è il banner cookie.
Il banner cookie non scrive l’header Sec-Fetch-Dest. È un header di richiesta: il browser lo mette da solo, con il prefisso Sec-. Dice al server dove finirà la risorsa: un documento, un’immagine, uno script, una fetch vuota. MDN: non si modifica da JavaScript. Non è CORS. Non è il consenso al marketing.
In breve: fetch metadata request header, solo verso URL potenzialmente fidati (HTTPS). I token coincidono con Request.destination: document, image, script, empty, iframe e gli altri elencati da MDN. Header proibito: il prefisso Sec- lo rende non impostabile dagli script. Non è Sec-Fetch-Mode. Verifica del 1° ottobre 2026 su MDN (header, ultima modifica 28 settembre 2026).
Cosa trovi in questo articolo
Cosa è Sec-Fetch-Dest (e cosa non è CORS)
MDN, sulla pagina dell’header Sec-Fetch-Dest, parte da un fatto: indica la destinazione della richiesta. In altre parole, l’iniziatore della fetch originale, dove (e come) i dati scaricati verranno usati. Esempio MDN: una richiesta con destinazione audio dovrebbe chiedere dati audio, non un documento con informazioni sensibili. Incluso solo nelle richieste verso URL potenzialmente fidati. I server, scrive MDN, devono ignorare l’header se contiene un valore diverso dai token elencati.
Non è CORS. CORS, Access-Control-Allow-Origin, è un header di risposta. Sec-Fetch-Dest è un header di richiesta: lo scrive il browser, prima. Non è Sec-Fetch-Mode: Mode dice come è partita la chiamata (navigate, no-cors, cors). Dest dice a che destinazione. Non è Sec-Fetch-Site. Non è il banner cookie. Quattro mestieri, un popup.
MDN, glossario fetch metadata request header: questi header (prefisso Sec-) sono forbidden request header. Non si modificano da JavaScript. Servono a una policy di isolamento delle risorse. Si verifica in Network, sulla richiesta, non sul testo della privacy policy. Questo pezzo sta nel cluster Sicurezza, accanto a Sec-Fetch-Mode e Sec-Fetch-Site.
I token di destinazione
MDN, sintassi. Header di richiesta. I token coincidono, nota MDN, con i valori di Request.destination. Non è CORS-safelisted. Tabella dei mestieri che servono in pagina, non l’elenco enciclopedico.
| Token (MDN) | Cosa significa, secondo MDN |
|---|---|
document | documento HTML o XML da navigazione di primo livello iniziata dall’utente (click su un link) |
image | immagine: tag immagine, SVG, CSS background-image, cursor, list-style-image |
script | script: tag script o WorkerGlobalScope.importScripts() |
empty | stringa vuota, per destinazioni senza token proprio: fetch(), sendBeacon, EventSource, XMLHttpRequest, WebSocket |
iframe | iframe |
style | foglio di stile: link rel=stylesheet, CSS @import, import JS type css |
font | font, tipicamente da @font-face |
report | report (esempio MDN: content security policy report) |
MDN elenca anche audio, video, object, embed, frame, manifest, worker, sharedworker, serviceworker, audioworklet, paintworklet, json, text, track, xslt, fencedframe, webidentity. Si rileggono sulla pagina dell’header. Esempio MDN: una richiesta cross-site generata da un elemento immagine porta Sec-Fetch-Dest: image. Non è navigate. Non è document. Lo spec è Fetch Metadata Request Headers. Lo mette il browser. Il banner non lo scrive.
Mode, Site, User: non il banner
MDN, stessa famiglia. Sec-Fetch-Mode dice come è partita: navigate, cors, no-cors, same-origin, websocket. Sec-Fetch-Site dice da dove: same-origin, same-site, cross-site, none. Sec-Fetch-User, nell’esempio MDN della navigazione, vale ?1 quando c’è un’attivazione dell’utente. Tre header più uno, una richiesta. Non è CSP. Non è HSTS. Non è Clear-Site-Data. Non è CORP.
MDN, baseline: supporto ampio, disponibile nei browser da marzo 2023. Data di modifica della pagina Sec-Fetch-Dest: 28 settembre 2026. Rilettura: 1° ottobre 2026. Si verifica in Network, sugli header della richiesta, non sul testo «Accetta tutti».
Errori da evitare
Impostare
Sec-Fetch-Destda JavaScript o in un tagmeta: MDN, forbidden request header.Trattarlo come
Sec-Fetch-Mode: Dest dice dove finisce, Mode dice come è partita.Accettare un
documentsu un endpoint pensato perimagee chiamarlo «semplice img».Confondere
emptycon «nessuna richiesta»: è fetch(), XHR, sendBeacon, WebSocket.Verificare l’effetto sulla privacy policy invece che in Network, sulla richiesta.
Scambiarlo con CORS: uno è destinazione della richiesta, l’altro è un header di risposta.
In sintesi
Sec-Fetch-Dest è un header di richiesta, in HTTPS, scritto dal browser. I token coincidono con Request.destination: document, image, script, empty, iframe, e gli altri in MDN. Non si imposta da JavaScript. Non è CORS. Non è Mode. Non è il banner. Si verifica in Network. MDN, 1° ottobre 2026.