Sec-Fetch-Mode: navigate (non è CORS, non è il banner)
Data Pubblicazione: 30/09/2026 | | Sicurezza

Sec-Fetch-Mode: navigate (non è CORS, non è il banner)

Sec-Fetch-Mode è un header di richiesta. Il browser dice se la chiamata è navigate, cors, no-cors, same-origin o websocket. Non è CORS. Non è il banner cookie.

Il banner cookie non scrive l’header Sec-Fetch-Mode. È un header di richiesta: il browser lo mette da solo, con il prefisso Sec-. Dice al server come è partita la chiamata: una navigazione tra pagine, il caricamento di un’immagine, una fetch CORS, un WebSocket. 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). Cinque token: cors, navigate, no-cors, same-origin, websocket. Header proibito: il prefisso Sec- lo rende non impostabile dagli script. Il token cors non è l’header Access-Control-Allow-Origin. Verifica del 30 settembre 2026 su MDN (header, ultima modifica 28 settembre 2026).

Cosa trovi in questo articolo

  1. Cosa è Sec-Fetch-Mode (e cosa non è CORS)

  2. I cinque token

  3. Site, Dest, User: non il banner

  4. Errori da evitare

  5. In sintesi

Cosa è Sec-Fetch-Mode (e cosa non è CORS)

MDN, sulla pagina dell’header Sec-Fetch-Mode, parte da un fatto: indica la modalità della richiesta. In altre parole, permette al server di distinguere una navigazione dell’utente tra documenti HTML dal caricamento di un’immagine o di un’altra risorsa. Esempio MDN: navigate per una navigazione di primo livello, no-cors per un’immagine. Incluso solo nelle richieste verso URL potenzialmente fidati. I server, scrive MDN, devono ignorare l’header se contiene un valore diverso dai cinque token.

Non è CORS. CORS, Access-Control-Allow-Origin, è un header di risposta: decide chi può leggere il body in modalità cors. Sec-Fetch-Mode è un header di richiesta: lo scrive il browser, prima. Il token si chiama anche cors: è la modalità della richiesta, non il permesso in risposta. Non è Sec-Fetch-Site. Non è CORP. Non è il banner cookie. Cinque 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-Site e a CORS.

I cinque token

MDN, sintassi. Header di richiesta. Un token tra cinque. Corrispondono, nota MDN, ai valori di Request.mode. Non è CORS-safelisted.

Token (MDN)Cosa significa, secondo MDN
corsla richiesta usa il protocollo CORS. Non è l’header di risposta Access-Control-Allow-Origin
navigaterichiesta iniziata da una navigazione tra documenti HTML
no-corsrichiesta no-cors (vedi Request.mode): tipicamente un’immagine, scrive MDN
same-originla richiesta parte dalla stessa origine della risorsa chiesta
websocketla richiesta serve ad aprire una connessione WebSocket

Esempio MDN. L’utente clicca un link verso un’altra pagina sulla stessa origine: il browser manda Sec-Fetch-Mode: navigate (insieme a Sec-Fetch-Dest: document, Sec-Fetch-Site: same-origin, Sec-Fetch-User: ?1). Un elemento <img> cross-site: Sec-Fetch-Mode: no-cors, Sec-Fetch-Dest: image, Sec-Fetch-Site: cross-site. Due richieste, due mestieri. Lo spec è Fetch Metadata Request Headers. Lo mette il browser. Il banner non lo scrive.

Site, Dest, User: non il banner

MDN, stessa famiglia. Sec-Fetch-Site dice da dove arriva la chiamata: same-origin, same-site, cross-site, none. Sec-Fetch-Dest dice la destinazione: document, image, script, empty. 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.

MDN, baseline: supporto ampio, disponibile nei browser da marzo 2023. Data di modifica della pagina Sec-Fetch-Mode: 28 settembre 2026. Rilettura: 30 settembre 2026. Si verifica in Network, sugli header della richiesta, non sul testo «Accetta tutti».

Errori da evitare

  • Impostare Sec-Fetch-Mode da JavaScript o in un tag meta: MDN, forbidden request header.

  • Confondere il token cors con CORS: uno è la modalità della richiesta, l’altro è un header di risposta.

  • Trattarlo come Sec-Fetch-Site: Mode dice come, Site dice da dove.

  • Ignorare navigate: è il click su un link, non una fetch da pagina.

  • Verificare l’effetto sulla privacy policy invece che in Network, sulla richiesta.

  • Accettare in silenzio un no-cors su un endpoint di cambio stato e chiamarlo «immagine statica».

In sintesi

Sec-Fetch-Mode è un header di richiesta, in HTTPS, scritto dal browser. Cinque token: cors, navigate, no-cors, same-origin, websocket. Non si imposta da JavaScript. Non è CORS. Non è il banner. Si verifica in Network. MDN, 30 settembre 2026.

Domande frequenti

MDN: un fetch metadata request header. Indica la modalità della richiesta. Token: cors, navigate, no-cors, same-origin, websocket. È un header di richiesta, in contesto sicuro. Non è CORS, non è Sec-Fetch-Site, non è il banner cookie.
No. MDN: è un forbidden request header, prefisso Sec-. Gli script in pagina non lo modificano. Lo scrive il browser.
No. CORS è un header di risposta (Access-Control-Allow-Origin) che decide chi può leggere il body in modalità cors. Il token cors di Sec-Fetch-Mode è la modalità della richiesta, scritta dal browser, prima.
MDN: richiesta iniziata da una navigazione tra documenti HTML. Esempio: il click su un link. Non è una fetch partita da uno script, non è il caricamento di un’immagine.
No. Mode dice come è partita la richiesta (navigate, no-cors, cors…). Site dice da dove (same-origin, same-site, cross-site, none). Stessa famiglia, due mestieri. Si verificano insieme in Network.

Potrebbe interessarti anche...