Förfallotid för statiska objekt expiration-of-static-objects
Statiska objekt (till exempel ikoner) ändras inte. Därför bör systemet konfigureras så att det inte upphör att gälla (under en rimlig tidsperiod) och på så sätt minskar onödig trafik.
Detta har följande effekt:
- Avlastar begäranden från serverinfrastrukturen.
- Förbättrar sidinläsningens prestanda när webbläsaren cachelagrar objekt i webbläsarens cache.
Förfallotider anges av HTTP-standarden med avseende på "förfallodatum" för filer (se t.ex. kapitel 14.21 i RFC 2616 " Hypertext Transfer Protocol - HTTP 1.1"). I den här standarden används rubriken för att tillåta klienter att cachelagra objekt tills de betraktas som inaktuella. Sådana objekt cachelagras under den angivna tiden utan att någon statuskontroll görs på den ursprungliga servern.
Alla filer, som inte är dynamiska och som inte ändras över tid, kan och bör cachas. Konfigurationen för Apache HTTPD-servern kan se ut som något av följande, beroende på miljön:
-
För en författarinstans:
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>
Detta gör att det mellanliggande cacheminnet (till exempel webbläsarens cacheminne) kan lagra CSS-, JavaScript-, PNG- och GIF-filer i upp till en månad tills de upphör att gälla. Det innebär att de inte behöver begäras från AEM eller webbservern, men de kan finnas kvar i webbläsarens cache.
Andra delar av webbplatsen bör inte cachas i en författarinstans eftersom de kan ändras när som helst.
-
För en Publish-instans:
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>
Detta gör att det mellanliggande cacheminnet (till exempel webbläsarens cacheminne) kan lagra CSS-, JavaScript-, PNG- och GIF-filer för upp till en dag i klientcachen. Det här exemplet visar globala inställningar för allt under
/content
och/etc/designs
, men du bör göra det mer detaljerat.Beroende på hur ofta webbplatsen uppdateras kan du även cachelagra HTML-sidor. En rimlig tidsperiod skulle vara en timme:
code language-xml <Location /content> ExpiresByType text/html "access plus 1 hour" </Location>
När du har konfigurerat de statiska objekten kan du kontrollera request.log
, medan du väljer sidor som innehåller sådana objekt, att inga (onödiga) begäranden görs för statiska objekt.