Scadenza degli oggetti statici expiration-of-static-objects

Gli oggetti statici, ad esempio le icone, non vengono modificati. Pertanto, il sistema deve essere configurato in modo che non scadano (per un periodo di tempo ragionevole) e in modo da ridurre il traffico non necessario.

Questo ha il seguente impatto:

  • Ripartisce il carico delle richieste dall'infrastruttura del server.
  • Aumenta le prestazioni di caricamento della pagina, poiché il browser memorizza nella cache gli oggetti nel browser.

Le scadenze sono specificate dallo standard HTTP relativo alla "scadenza" dei file (ad esempio, vedi il capitolo 14.21 del RFC 2616 " Hypertext Transfer Protocol — HTTP 1.1"). Questo standard utilizza l’intestazione per consentire ai client di memorizzare in cache gli oggetti fino a quando non vengono considerati obsoleti; tali oggetti vengono memorizzati in cache per il periodo di tempo specificato senza che venga eseguito alcun controllo dello stato sul server di origine.

NOTE
Questa configurazione è separata (e non funzionerà) da Dispatcher.
Lo scopo del Dispatcher è quello di memorizzare in cache i dati prima di Adobe Experience Manager (AEM).

Tutti i file non dinamici che non cambiano nel tempo possono e devono essere memorizzati in cache. A seconda dell’ambiente, la configurazione del server HTTPD Apache potrebbe essere simile a una delle seguenti:

CAUTION
Prestare attenzione quando si definisce il periodo di tempo durante il quale un oggetto viene considerato aggiornato. Dato che nessun controllo fino alla scadenza del periodo di tempo specificato, il client può finire per presentare contenuti obsoleti dalla cache.
  1. Per un’istanza Autore:

    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 file CSS, JavaScript, PNG e GIF per un massimo di un mese, fino alla scadenza. Ciò significa che non devono essere richieste dall’AEM o dal server web, ma possono rimanere nella cache del browser.

    Le altre sezioni del sito non devono essere memorizzate nella cache in un’istanza Autore, in quanto sono soggette a modifiche in qualsiasi momento.

  2. 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 file CSS, JavaScript, PNG e GIF per un massimo di un giorno nelle cache client. Anche se questo esempio illustra le impostazioni globali per tutto ciò che segue /content e /etc/designs, dovresti renderlo più granulare.

    A seconda della frequenza con cui il sito viene aggiornato, puoi anche considerare la memorizzazione in cache delle pagine di HTML. Un periodo di tempo ragionevole è di un’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 che contengono tali oggetti, per confermare che non vengono effettuate richieste (non necessarie) per gli oggetti statici.

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2