HTML caching vs Aggressive HTML caching in Adobe Experience Manager (AEM) | Community
Skip to main content
Level 8
March 5, 2026
Question

HTML caching vs Aggressive HTML caching in Adobe Experience Manager (AEM)

  • March 5, 2026
  • 1 reply
  • 10 views

Hi all,

 

How is “HTML caching” different from “Aggressive HTML caching”?

For me, HTML caching or for that matter any caching should be done as long as possible for performance.

 

How differently are these two achieved in Adobe Experience Manager (AEM)?

 

Both use Dispatcher and CDN? Probably not for just “HTML caching”.

What configurations are done where for these two?

 

Also is there a difference between achieving these two in AEM On Prem and AEMCS?

 

Appreciate all your responses.

 

Thanks,

RK.

    1 reply

    AmitVishwakarma
    Community Advisor
    Community Advisor
    March 5, 2026

    Hi ​@nsvsrk ,

    In AEM, these are informal patterns, not product switches:

    • “HTML caching”: Usually means normal caching of page HTML at Dispatcher (and often CDN) with moderate TTLs and regular invalidation on content publish. Priority: freshness, cache is a helper.
    • “Aggressive HTML caching”: Means caching almost all HTML for as long as safely possible at browser + CDN + Dispatcher, with longer TTLs, stale-while-revalidate‑style behaviour, and a more complex invalidation strategy. Priority: max cache‑hit ratio and origin protection, accepting brief staleness.
    • AEM On‑Prem vs AEMCS: Same idea in both: just different places you configure (your own CDN/Dispatcher vs Adobe‑managed CDN + Cloud Manager dispatcher). The distinction is about policy (TTL + invalidation), not a special AEM feature.

    Dispatcher vs CDN usage

    • Both patterns can use Dispatcher and CDN.
    • Difference is how far you push them:
      • Standard HTML caching: Dispatcher + CDN with conservative TTLs; cache is a helper.
      • Aggressive HTML caching: Dispatcher + CDN tuned as primary protection layer (high cache-hit ratio, long TTLs, stale serving), with origin sized for misses and authoring activity.

    1. “HTML caching” (standard)

    Typical setup:

    • Layers
      • Browser: modest Cache-Control (e.g. seconds–minutes).
      • Dispatcher: HTML cached on disk; invalidated by replication/flush, .stat files, or basic TTL.
      • CDN (if any): Medium TTL (e.g. a few minutes) so changes appear quickly.
    • Config levers (examples)
      • Dispatcher /cache rules and .statfileslevel for page invalidation
      • Moderate Cache-Control / Surrogate-Control on HTML, aligned with AEM’s normal invalidation model
      • No or limited caching for highly dynamic / personalised pages

    2. “Aggressive HTML caching”

    Same stack, but with much more opinionated settings:

    • Layers
      • Browser: HTML allowed to stay cached longer (within business tolerance).
      • Dispatcher: cache “almost everything”; may use TTL-based invalidation (e.g. ACS Dispatcher TTL) instead of flushing on every activation
      • CDN: longer TTLs (minutes–hours), often with stale-while-revalidate and stale-if-error, to keep serving cached HTML even while origin is refreshing or under load.
    • Config levers (examples)
      • Aggressive Cache-Control for HTML: e.g. max-age=300,s-maxage=43200,stale-while-revalidate=43200,stale-if-error=43200 for public pages (exact values vary).
      • Dispatcher configured to cache almost all .html (and often JSON) and to ignore non‑functional query params (/ignoreUrlParams) so marketing parameters don’t explode the cache
      • For personalisation, use fragment techniques (SDI, client-side rendering, or permission-sensitive caching) so most of the page stays cacheable, and only small bits are dynamic.
    Amit Vishwakarma - Adobe Commerce Champion 2025 | 16x Adobe certified | 4x Adobe SME