HTTP

HTTP 304 Non modificato

304 Not Modified significa che la risorsa non è cambiata dall'ultima visita e non deve essere ritrasmessa.

Significato

Il browser invia una richiesta condizionale con If-None-Match (ETag) o If-Modified-Since. Se la risorsa non è cambiata, il server restituisce 304 senza corpo e il browser usa la copia salvata in precedenza. Questo evita trasferimenti inutili e migliora i tempi di caricamento.

Cause comuni

  • Una nuova visita a una pagina o a un file già memorizzato nella cache del browser.
  • Intestazioni ETag o Last-Modified configurate correttamente consentono la convalida condizionale.
  • Un CDN controlla con il server di origine se la propria copia è ancora aggiornata.

Cosa può fare un visitatore?

  • 304 non è un errore. Se vedi una versione vecchia della pagina, prova un aggiornamento forzato (Ctrl+F5) per bypassare la copia cache.

Cosa può fare il gestore?

  • Assicurati che l'ETag cambi ogni volta che cambia il contenuto della risorsa.
  • Per i file statici usa URL con versione, per esempio style.css?v=2, e impostazioni Cache-Control appropriate.
  • Non restituire 304 a richieste prive degli header condizionali necessari.

Effetti sulla SEO

Googlebot supporta le richieste condizionali. Risposte 304 corrette riducono il carico del server e possono migliorare l'efficienza di scansione di siti con molte pagine.

Domande frequenti

HTTP 304 è un errore?

No. Indica che la copia già memorizzata è ancora valida e non serve trasferire nuovamente tutto il contenuto.

Perché vedo ancora una vecchia versione della pagina?

Cache o CDN potrebbero non aver rilevato una modifica. Prova un aggiornamento forzato oppure svuota la cache del CDN mirata.

Fonti