Verlopen van statische objecten expiration-of-static-objects

CAUTION
AEM 6.4 heeft het einde van de uitgebreide ondersteuning bereikt en deze documentatie wordt niet meer bijgewerkt. Raadpleeg voor meer informatie onze technische ondersteuningsperioden. Ondersteunde versies zoeken hier.

Statische objecten (bijvoorbeeld pictogrammen) veranderen niet. Daarom moet het systeem zo worden geconfigureerd dat zij niet (gedurende een redelijke periode) verlopen en zo onnodig verkeer verminderen.

Dit heeft het volgende effect:

  • Offloadt aanvragen van de serverinfrastructuur.
  • Hiermee verbetert u de prestaties van het laden van pagina's, aangezien de browser objecten in het cachegeheugen van de browser opslaat.

Verlopen worden gespecificeerd door de HTTP-standaard met betrekking tot "vervaldatum" van bestanden (zie bijvoorbeeld hoofdstuk 14.21 van RFC 2616 " Hypertext Transfer Protocol — HTTP 1.1"). Deze standaard gebruikt de header om clients toe te staan objecten in cache te plaatsen totdat ze als 'stale' worden beschouwd. dergelijke objecten worden gedurende de opgegeven tijd in cache geplaatst zonder dat er een statuscontrole op de oorspronkelijke server wordt uitgevoerd.

NOTE
Deze configuratie staat volledig los van (en werkt niet voor) de Dispatcher.
Het doel van de Dispatcher is om gegevens vóór AEM in cache te plaatsen.

Alle bestanden, die niet dynamisch zijn en niet in de loop der tijd veranderen, kunnen en moeten in cache worden geplaatst. De configuratie voor de Apache HTTPD-server kan er als volgt uitzien - afhankelijk van de omgeving:

CAUTION
U moet voorzichtig zijn wanneer u de tijdsperiode definieert waarin een object als up-to-date wordt beschouwd. Als er geen controle tot de opgegeven periode is verstreken kan de client de oude inhoud uit de cache presenteren.
  1. Voor een instantie Auteur:

    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>
    

    Hierdoor kunnen in de cache (bijvoorbeeld de browsercache) maximaal één maand CSS-, Javascript-, PNG- en GIF-bestanden worden opgeslagen, totdat ze verlopen. Dit betekent dat ze niet hoeven te worden aangevraagd bij AEM of de webserver, maar wel in de cache van de browser kunnen blijven staan.

    Andere gedeelten van de site moeten niet in de cache worden geplaatst op een instantie van de auteur, omdat deze op elk moment kunnen worden gewijzigd.

  2. Voor een instantie 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>
    

    Hierdoor kan de cache (bijvoorbeeld de cache van de browser) gedurende maximaal één dag CSS-, Javascript-, PNG- en GIF-bestanden opslaan in clientcaches. Hoewel dit voorbeeld algemene instellingen voor alles hieronder illustreert /content en /etc/designs, moet u het korter maken.

    Afhankelijk van hoe vaak uw site wordt bijgewerkt, kunt u ook overwegen HTML-pagina's in cache te plaatsen. Een redelijke termijn zou 1 uur zijn:

    code language-xml
    <Location /content>
      ExpiresByType text/html "access plus 1 hour"
    </Location>
    

Nadat u de statische objecten hebt geconfigureerd, scant u request.logSelecteer pagina's die dergelijke objecten bevatten, om te bevestigen dat er geen (overbodige) aanvragen worden gedaan voor statische objecten.

recommendation-more-help
6a71a83d-c2e0-4ce7-a6aa-899aa3885b56