Show Menu
ARGOMENTI×

Scadenza degli oggetti statici

Gli oggetti statici (ad esempio, le icone) non vengono modificati. Pertanto, il sistema deve essere configurato in modo che non scada (per un periodo di tempo ragionevole) e quindi riduca il traffico inutile.
Questo ha il seguente impatto:
  • Consente di scaricare le richieste dall'infrastruttura del server.
  • Aumenta le prestazioni di caricamento della pagina, man mano che il browser memorizza nella cache gli oggetti.
Le scadenze sono specificate dallo standard HTTP per quanto riguarda la "scadenza" dei file (vedere, ad esempio, il capitolo 14.21 della RFC 2616 "Hypertext Transfer Protocol — HTTP 1.1"). Questo standard utilizza l’intestazione per consentire ai client di memorizzare gli oggetti nella cache fino a quando non vengono considerati obsoleti; tali oggetti vengono memorizzati nella cache per il periodo di tempo specificato senza che venga eseguito il controllo dello stato sul server di origine.
Questa configurazione è completamente separata dal Dispatcher (e non funziona per esso).
Lo scopo del dispatcher è quello di memorizzare i dati nella cache di fronte ad AEM.
Tutti i file, che non sono dinamici e che non subiscono modifiche nel tempo, possono e devono essere memorizzati nella cache. La configurazione per il server Apache HTTPD potrebbe essere simile a una delle seguenti, a seconda dell'ambiente:
È necessario prestare attenzione quando si definisce il periodo di tempo durante il quale un oggetto viene considerato aggiornato. Poiché non viene eseguito alcun controllo fino alla scadenza del periodo di tempo specificato, il client può presentare il contenuto precedente dalla cache.
  1. Per un'istanza Author:
    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 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 di authoring, in quanto sono soggette a modifiche in qualsiasi momento.
  2. Per un’istanza Pubblica:
    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 sottostanti /content e successivi, è necessario /etc/designs renderle più granulari.
    A seconda della frequenza con cui il sito viene aggiornato, è anche possibile memorizzare nella cache le pagine HTML. Un periodo di tempo ragionevole sarebbe di 1 ora:
    <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 che contengono tali oggetti, per confermare che per gli oggetti statici non sono state effettuate richieste (non necessarie).