Scadenza degli oggetti statici expiration-of-static-objects
Gli oggetti statici (ad esempio, le icone) non cambiano. Pertanto, il sistema deve essere configurato in modo che non scadano (per un periodo di tempo ragionevole) e quindi riducano il traffico inutile.
Questo ha il seguente impatto:
- Consente di scaricare le richieste dall'infrastruttura del server.
- Aumenta le prestazioni del caricamento della pagina, quando il browser memorizza in cache gli oggetti nella cache del browser.
Le scadenze sono specificate dallo standard HTTP per quanto riguarda la "scadenza" dei file (vedi, ad esempio, il capitolo 14.21 RFC 2616 " Protocollo di trasferimento ipertestuale — HTTP 1.1"). Questo standard utilizza l’intestazione per consentire ai client di memorizzare in cache gli oggetti finché non vengono considerati obsoleti; tali oggetti vengono memorizzati nella cache per il periodo di tempo specificato senza che venga effettuato alcun controllo dello stato al server di origine.
Tutti i file che non sono dinamici e che non cambiano nel tempo possono e devono essere memorizzati nella cache. La configurazione per il server HTTPD di Apache potrebbe essere simile a una delle seguenti, a seconda dell’ambiente:
-
Per un'istanza Author:
code language-xml LoadModule expires_module modules/mod_expires.so <Location /libs> ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType image/gif "access plus 1 month" </Location>
Questo consente alla cache intermedia (ad esempio la cache del browser) di memorizzare i file CSS, Javascript, PNG e GIF per un massimo di un mese, fino alla loro scadenza. Ciò significa che non devono essere richiesti da AEM o dal server web, ma possono rimanere nella cache del browser.
Altre sezioni del sito non devono essere memorizzate nella cache in un’istanza dell’autore, in quanto sono soggette a modifiche in qualsiasi momento.
-
Per un'istanza Publish:
code language-xml LoadModule expires_module modules/mod_expires.so <Location /content> ExpiresByType text/css "access plus 1 day" ExpiresByType text/javascript "access plus 1 day" ExpiresByType image/png "access plus 1 day" ExpiresByType image/gif "access plus 1 day" </Location> <Location /etc/designs> ExpiresByType text/css "access plus 1 day" ExpiresByType text/javascript "access plus 1 day" ExpiresByType image/png "access plus 1 day" ExpiresByType image/gif "access plus 1 day" </Location>
Questo consente alla cache intermedia (ad esempio la cache del browser) di memorizzare i file CSS, Javascript, PNG e GIF per un massimo di un giorno nelle cache client. Anche se questo esempio illustra le impostazioni globali per tutti gli elementi seguenti
/content
e/etc/designs
, dovrebbe essere più granulare.A seconda della frequenza con cui il sito viene aggiornato, è anche possibile considerare la memorizzazione in cache delle pagine di HTML. Un periodo di tempo ragionevole sarebbe di 1 ora:
code language-xml <Location /content> ExpiresByType text/html "access plus 1 hour" </Location>
Dopo aver configurato gli oggetti statici, eseguire la scansione request.log
, durante la selezione delle pagine contenenti tali oggetti, per confermare che non vengono effettuate richieste (non necessarie) per gli oggetti statici.