Glossario

Cos'è HTTP Caching (Cache-Control, ETag)?

20 maggio 2026

HTTP caching e un meccanismo del protocollo HTTP che permette a browser, CDN e proxy di memorizzare copie di risposte e riutilizzarle per richieste successive senza contattare il server di origine. E la tecnica di performance piu importante del web. Un asset statico cachato correttamente (immagine, CSS, JS) si carica in 1 a 10 ms dalla cache del browser invece di 100 a 1000 ms dall origine. HTTP caching e controllato da intestazioni definite in RFC 7234 (giugno 2014) e RFC 9111 (giugno 2022): Cache-Control, Expires, ETag, Last-Modified, Vary.

Come funziona

  1. Cache hit se la copia e fresca.
  2. Conditional request con If-None-Match o If-Modified-Since, risposta 304.
  3. Cache miss senza validatore.

Cache-Control

DirettivaSignificato
max-age=NFresca per N secondi.
s-maxage=NSolo cache condivise.
publicQualsiasi cache.
privateSolo browser.
no-cacheRivalidare prima.
no-storeMai memorizzare.
stale-while-revalidate=NServe stale mentre rivalida.
immutableNon cambia mai.
Cache-Control: public, max-age=31536000, immutable
Cache-Control: public, max-age=0, s-maxage=300, stale-while-revalidate=86400
Cache-Control: private, no-cache
Cache-Control: no-store

ETag

Identificativo opaco (spesso hash). Il client invia If-None-Match. Strong o weak (prefisso W/).

Last-Modified

Timestamp con risoluzione di 1 secondo. ETag e piu preciso.

Vary

  • Vary: Accept-Encoding.
  • Vary: Accept-Language.
  • Vary: User-Agent da evitare.
  • Vary: Cookie rompe la cache condivisa.

Livelli di cache

LivelloPosizioneOnora
BrowserDispositivo utentemax-age, ETag
CDN edgePoP vicino (Cloudflare, Fastly, Akamai, CloudFront)s-maxage, stale-while-revalidate
Proxy aziendaleReti aziendalipublic, private
Service WorkerPagina via JSLogica propria

Cache busting e fingerprinting

webpack, Vite, esbuild, Turbopack, Rollup. app.css diventa app.a1b2c3d4.css.

HTTP caching in WordPress

  • WP Rocket.
  • LiteSpeed Cache.
  • W3 Total Cache.
  • WP Super Cache.
  • Cloudflare APO a 5 USD al mese.

Errori comuni

  • max-age lungo su HTML.
  • Asset statici senza intestazioni.
  • Vary: User-Agent.
  • Set-Cookie con public.
  • Pragma: no-cache (obsoleto).
  • Cache poisoning senza Vary corretto.

Come testarlo

  • DevTools Network.
  • curl -I.
  • WebPageTest.
  • Lighthouse.
  • RedBot.

HTTP/2 e HTTP/3

Stessa semantica. Server Push deprecato in Chrome dal 2022, sostituito da Early Hints (RFC 8297).

Come InspectWP aiuta?

InspectWP analizza Cache-Control, ETag, Last-Modified e Vary di ogni asset.

Controlla subito il tuo sito WordPress

InspectWP analizza il tuo sito WordPress per problemi di sicurezza, problemi SEO, conformità GDPR e prestazioni — gratuitamente.

Analizza gratis il tuo sito