AEM Publish

AEM Publish-tjänsten har två primära cachningslager, AEM as a Cloud Service CDN och AEM Dispatcher. En kundhanterad CDN kan också placeras framför AEM as a Cloud Service CDN. AEM as a Cloud Service CDN levererar toppmaterial och levererar upplevelser med låg latens till användare i hela världen. AEM Dispatcher tillhandahåller cachelagring direkt framför AEM Publish och används för att minska onödig belastning på AEM Publish.

AEM Översikt över cachelagring i Publish

CDN

AEM as a Cloud Service CDN:s cachelagring styrs av headers i HTTP-svarscache och är avsedd att cachelagra innehåll för att optimera balansen mellan aktualitet och prestanda. CDN ligger mellan slutanvändaren och AEM Dispatcher och används för att cachelagra innehåll så nära slutanvändaren som möjligt, vilket ger en bättre prestanda.

AEM Publish CDN

Att konfigurera hur CDN cachelagrar innehåll begränsas till att ange cacherubriker för HTTP-svar. Dessa cacherubriker ställs vanligtvis in i AEM Dispatcher värdkonfigurationer med mod_headers, men kan också anges i anpassad Java™-kod som körs i AEM Publish.

När cachelagras HTTP-begäranden/svar?

AEM as a Cloud Service CDN cachelagrar bara HTTP-svar, och alla följande kriterier måste vara uppfyllda:

  • HTTP-svarsstatusen är 2xx eller 3xx
  • HTTP-begärandemetoden är GET eller HEAD
  • Minst en av följande HTTP-svarsrubriker finns: Cache-Control, Surrogate-Control eller Expires
  • HTTP-svaret kan vara vilken innehållstyp som helst, inklusive HTML, JSON, CSS, JS och binära filer.

Som standard har HTTP-svar som inte cachelagrats av AEM Dispatcher automatiskt alla headers för HTTP-svarscache tagits bort för att undvika cachelagring vid CDN. Det här beteendet kan åsidosättas noggrant med hjälp av mod_headers med direktivet Header always set ... när det behövs.

Vad cachelagras?

AEM as a Cloud Service CDN cachelagrar följande:

  • HTTP-svarsbrödtext
  • HTTP-svarsrubriker

Vanligtvis cachelagras en HTTP-begäran/ett HTTP-svar för en enskild URL som ett enskilt objekt. CDN kan emellertid hantera cachelagring av flera objekt för en enda URL när rubriken Vary anges för HTTP-svaret. Undvik att ange Vary för rubriker vars värden inte har en tätt kontrollerad uppsättning värden, eftersom detta kan leda till många cachemissar, vilket minskar träffkvoten för cachen. Granska dokumentationen för variantcachelagring om du vill ha stöd för cachelagring av olika begäranden på AEM Dispatcher.

Cachelagring cdn-cache-life

Den AEM Publish CDN är TTL-baserad (time-to-live), vilket innebär att cachetiden bestäms av HTTP-svarshuvuden Cache-Control, Surrogate-Control eller Expires. Om rubrikerna för HTTP-svarscache inte anges av projektet och kriteriernauppfylls, anger Adobe en standardcachetid på 10 minuter (600 sekunder).

Så här påverkar cacherubrikerna CDN-cachens livslängd:

  • Cache-Control HTTP-svarshuvudet anger för webbläsaren och CDN hur länge svaret ska cachelagras. Värdet anges i sekunder. Cache-Control: max-age=3600 instruerar till exempel webbläsaren att cachelagra svaret i en timme. Detta värde ignoreras av CDN om även HTTP-svarshuvudet Surrogate-Control finns.
  • Surrogate-Control HTTP-svarshuvudet instruerar AEM CDN hur länge svaret ska cachelagras. Värdet anges i sekunder. Surrogate-Control: max-age=3600 instruerar till exempel CDN att cachelagra svaret i en timme.
  • Expires HTTP-svarshuvudet anger AEM CDN (och webbläsaren) hur länge det cachelagrade svaret är giltigt. Värdet är ett datum. Expires: Sat, 16 Sept 2023 09:00:00 EST instruerar till exempel webbläsaren att cachelagra svaret tills det angivna datumet och den angivna tiden.

Använd Cache-Control för att styra cachetiden när den är densamma för både webbläsaren och CDN. Använd Surrogate-Control när webbläsaren ska cachelagra svaret med en annan varaktighet än CDN.

Standardcachetid

Om ett HTTP-svar kvalificerar för AEM Dispatcher-cachelagring per ovan-kvalificerare, är följande standardvärden såvida det inte finns någon anpassad konfiguration.

Innehållstyp
Standardcachetid för CDN
HTML/JSON/XML
5 minuter
Assets (bilder, videoklipp, dokument och så vidare)
10 minuter
Beständiga frågor (JSON)
2 timmar
Klientbibliotek (JS/CSS)
30 dagar
Annan
Inte cachelagrad

Anpassa cacheregler

Konfigurationen av hur CDN cachelagrar innehållbegränsas till att ange cacherubriker för HTTP-svar. Dessa cacherubriker ställs vanligtvis in AEM Dispatcher vhost-konfigurationer med mod_headers, men kan även ställas in i anpassad Java™-kod som körs i AEM Publish.

AEM Dispatcher

AEM Publish AEM Dispatcher

När cachelagras HTTP-begäranden/svar?

HTTP-svar för motsvarande HTTP-begäranden cachelagras när alla följande villkor uppfylls:

  • HTTP-begärandemetoden är GET eller HEAD

    • HEAD HTTP-begäranden cachelagrar bara HTTP-svarshuvuden. De har inga svarsorgan.
  • HTTP-svarsstatusen är 200

  • HTTP-svaret är INTE för en binär fil.

  • URL-sökvägen för HTTP-begäran avslutas med ett tillägg, till exempel: .html, .json, .css, .js osv.

  • HTTP-begäran innehåller ingen auktorisering och autentiseras inte av AEM.

  • HTTP-begäran innehåller inga frågeparametrar.

    • Om du konfigurerar ignorerade frågeparametrar kan HTTP-begäranden med de ignorerade frågeparametrarna cachelagras/hanteras från cachen.
  • HTTP-begärans sökväg matchar en Tillåt-Dispatcher-regel och matchar inte en Neka-regel.

  • HTTP-svar har inte någon av följande HTTP-svarshuvuden inställda av AEM Publish:

    • no-cache
    • no-store
    • must-revalidate

Vad cachelagras?

AEM Dispatcher cachelagrar följande:

  • HTTP-svarsbrödtext

  • HTTP-svarshuvuden har angetts i Dispatcher cacherubrikskonfiguration. Se standardkonfigurationen som levereras med AEM Project Archettype.

    • Cache-Control
    • Content-Disposition
    • Content-Type
    • Expires
    • Last-Modified
    • X-Content-Type-Options

Cachelagring

AEM Dispatcher cachelagrar HTTP-svar med följande metoder:

Standardcachetid

Om ett HTTP-svar kvalificerar för AEM Dispatcher-cachelagring per ovan-kvalificerare, är följande standardvärden såvida det inte finns någon anpassad konfiguration.

Innehållstyp
Standardcachetid för CDN
HTML/JSON/XML
Till ogiltigförklaring
Assets (bilder, videoklipp, dokument och så vidare)
Aldrig
Beständiga frågor (JSON)
1 minut
Klientbibliotek (JS/CSS)
30 dagar
Annan
Till ogiltigförklaring

Anpassa cacheregler

Den AEM Dispatcher-cachen kan konfigureras via Dispatcher-konfigurationen, inklusive:

  • Vad som cachelagras
  • Vilka delar av cachen som blir ogiltiga vid publicering/avpublicering
  • Vilka parametrar för HTTP-frågebegäran som ignoreras vid utvärdering av cache
  • Vilka HTTP-svarshuvuden som cachelagras
  • Aktivera eller inaktivera TTL-cachelagring
  • … och mycket mer

Om mod_headers används för att ange cacherubriker påverkar inte konfigurationen vhost Dispatcher-cachning (TTL-baserad) eftersom dessa läggs till i HTTP-svaret när AEM Dispatcher bearbetar svaret. För att påverka Dispatcher-cachning via HTTP-svarshuvuden krävs anpassad Java™-kod som körs i AEM Publish och som anger lämpliga HTTP-svarshuvuden.

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69