Base di conoscenze
1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Utilizzare le intestazioni per ottimizzare la memorizzazione nella cache delle risorse
Questa guida spiega come ottimizzare la memorizzazione nella cache delle risorse web tramite le intestazioni HTTP.
Introduzione
- Una buona strategia di caching consente di migliorare significativamente le prestazioni del sito evitando di ritrasmettere inutilmente file invariati.
- Il caching web si basa su due meccanismi complementari:
- La durata di validità della cache (tramite l'intestazione
Expires), che indica per quanto tempo una risorsa può essere riutilizzata senza contattare il server. - La convalida condizionale (tramite le intestazioni
Last-Modified/If-Modified-Since), che consente di verificare se una risorsa è stata modificata prima di scaricarla nuovamente.
- La durata di validità della cache (tramite l'intestazione
Configurazione della durata della cache con Expires
L'intestazione Expires consente di specificare la durata per la quale il browser può riutilizzare direttamente le risorse dalla sua cache locale. Ecco come configurarla nel file .htaccess:
- Crea o apri il file
.htaccessnella directory principale del tuo sito (generalmente in/webo/sites/domain.xyz). Aggiungi la configurazione del modulo
expires:<IfModule mod_expires.c>Definisci le durate di cache appropriate per ogni tipo di risorsa:
ExpiresActive On ExpiresByType text/html "access plus 1 week" ExpiresByType image/jpeg "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month"Queste direttive significano che:
- Le pagine HTML saranno memorizzate nella cache per una settimana.
- Le immagini JPEG, i file CSS e JavaScript saranno conservati per un mese.
Adatta queste durate in base alla frequenza di aggiornamento delle tue risorse.
Chiudi la sezione di configurazione:
</IfModule>
Validazione condizionale con Last-Modified
Anche quando una risorsa è scaduta nella cache, non è sempre necessario scaricarla completamente. Il meccanismo di validazione condizionale consente al browser di verificare se la versione presente nella cache è ancora aggiornata. Questo processo funziona nel seguente modo:
- Il server invia automaticamente un'intestazione
Last-Modifiedcon ogni risorsa, indicando la data dell'ultima modifica.- Apache gestisce questa funzione in modo nativo per i file statici: non è necessaria alcuna configurazione aggiuntiva.
Quando il browser richiede nuovamente la risorsa, invia un'intestazione
If-Modified-Sincecontenente la data memorizzata nella cache:GET /resource HTTP/1.1 Host: www.example.com If-Modified-Since: Wed, 21 Oct 2015 07:28:00 GMT- Il server confronta questa data con la data di modifica effettiva del file:
- Se il file non è stato modificato, restituisce semplicemente un codice
304 Not Modified, risparmiando così larghezza di banda. - Se il file è stato modificato, restituisce la nuova versione con un codice
200 OK.
- Se il file non è stato modificato, restituisce semplicemente un codice
Link a questa FAQ: https://faq.infomaniak.com/1282
Questa FAQ è stata utile?