Azure Front Door CDN caching guide
Microsoft · reviewed against the vendor documentation listed below
How Azure Front Door caches: X-Cache values, origin headers and the one-to-three-day default, path purges, and the retirement dates of Azure CDN classic.
Part of the Top 10 CDNs in 2026 comparison. New to the topic? Start with why cache warming matters.
Caching at a glance
- Cache status on the response
X-Cacheon all responses:TCP_HITorTCP_REMOTE_HIT(served from cache),TCP_MISS,PRIVATE_NOSTOREorCONFIG_NOCACHE.- TTL controls
- Honors
s-maxageandmax-age. WithoutCache-Control, Front Door picks a random cache duration between one and three days. The Rules Engine can override the duration, butprivate,no-cacheandno-storeare never cached. - Purge
- Purge by path, with
/*wildcards;/*on the root purges the whole domain. Purges are case-insensitive and query-string agnostic. - Tiering and origin protection
- Each Front Door edge site manages its own cache. A tiered or shield layer is not described in the pages we reviewed.
- Edge compute
- Rules Engine (no general-purpose edge compute in the pages we reviewed).
Strengths for caching
X-Cacheis on every response and says why a response was not cached (PRIVATE_NOSTORE,CONFIG_NOCACHE).- Query string caching modes: ignore, use, or include or ignore specified parameters.
Watch-outs
- Each edge site has its own cache, so origin traffic continues even when most responses are cached.
- Purges are by path only; tags are not supported in the pages we reviewed.
stale-while-revalidate,stale-if-errorand request collapsing are not described in the pages we reviewed. The only validator used for revalidation isLast-Modified.- Only
GETrequests are cacheable.
Cache warming on Azure Front Door
Microsoft's caching documentation is explicit that each Front Door edge site manages its own cache, and that requests may be served by different edge sites. A warming request fills one edge site. Warm from the regions your visitors use and expect some origin traffic regardless.
Set Cache-Control on HTML you want cached. Without it, Front Door chooses a random duration between one and three days, which makes it hard to know when a warmed page will go cold.
curl -sI https://example-abc123.z01.azurefd.net/ | grep -iE '^(x-cache|x-azure-ref)'
# x-cache: TCP_MISS
# x-cache: TCP_HITDates, as of 2026-10-18: Azure CDN from Edgio shut down on 15 January 2025; Azure Front Door (classic) stopped accepting new resources on 1 April 2025 and retires on 31 March 2027; Azure CDN Standard from Microsoft (classic) stopped accepting new resources on 15 August 2025 and retires on 30 September 2027. Plan migrations to Front Door Standard or Premium. The Top 10 CDNs comparison explains why Front Door scored lowest on caching criteria.
Frequently asked questions
How long does Azure Front Door cache a response without Cache-Control?
A random duration between one and three days. Set Cache-Control to control it.
When does Azure Front Door (classic) retire?
On 31 March 2027, and new classic resources cannot be created since 1 April 2025. Azure CDN Standard from Microsoft (classic) retires on 30 September 2027 (as of 2026-10-18).
Related terms
Azure Front Door documentation
- Azure Front Door: Cachinghttps://learn.microsoft.com/en-us/azure/frontdoor/front-door-caching
- Azure Front Door: HTTP headershttps://learn.microsoft.com/en-us/azure/frontdoor/front-door-http-headers-protocol
- Azure Front Door: Cache purginghttps://learn.microsoft.com/en-us/azure/frontdoor/cache-purge
- Azure Front Door: Rules Enginehttps://learn.microsoft.com/en-us/azure/frontdoor/front-door-rules-engine
- Azure Front Door and CDN comparisonhttps://learn.microsoft.com/en-us/azure/frontdoor/front-door-cdn-comparison
- Azure Front Door (classic) retirement FAQhttps://learn.microsoft.com/en-us/azure/frontdoor/classic-retirement-faq
- Azure CDN Standard (classic) retirement FAQhttps://learn.microsoft.com/en-us/azure/cdn/classic-cdn-retirement-faq
- Azure CDN from Edgio retirement FAQhttps://learn.microsoft.com/en-us/previous-versions/azure/cdn/edgio-retirement-faq
Warm your cache after every deploy
sitewarm requests the pages in your sitemap after a deploy and reports the cache state the CDN returns for each one, with the vantage point it was measured from.