Verlopen van statische objecten expiration-of-static-objects
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.
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:
-
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.
-
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.log
Selecteer pagina's die dergelijke objecten bevatten, om te bevestigen dat er geen (overbodige) aanvragen worden gedaan voor statische objecten.