Run live experiments against the CDN. Watch timestamps, poll intervals, and X-Cache indicators to observe caching behaviour in real time.
The version endpoint is always no-store, so it always returns the
live origin version. Compare this to the version badge shown in cached HTML
to spot stale CDN content after a deploy. The response also includes the
current process start time so you can confirm the origin restarted.
Expected outcome
Cache-Control shows no-storeX-Cache stays MISS or absent on every requestVia confirms the request passed through Front DoorX-App-Version matches the live deployed origin versionStarted at stays stable between requests until the origin restartsPoll both endpoints every 5 seconds. The live endpoint timestamp should always advance. The cached endpoint timestamp will freeze once the CDN caches the response — that's your cache HIT confirmation.
Expected outcome
MISS, later requests become HITAge should increase while the cached response stays warmVia and X-App-Version should remain visible inside each cardNot started
Not started
Click Check Asset Headers to revalidate the original asset URL without
changing the CDN cache key. This keeps the test aligned with actual purge behavior
for /images/banner.svg while showing the response headers inline.
Expected outcome
Cache-Control should include s-maxage=86400HIT or MISSAgeETag helps confirm the asset instance changed after a deploy/images/banner.svg
/images/card1.svg
/images/card2.svg
Response headers (banner.svg)
Expected outcome
X-Cache: MISSHIT once Front Door re-caches the objectAge resets close to 0 after the purge completesAzure Portal → Front Door profile → Purge cache → select endpoint → enter paths → Submit.
az afd endpoint purge \ --resource-group <rg> \ --profile-name <profile> \ --endpoint-name <endpoint> \ --domains <frontdoor-hostname> \ --content-paths "/*"
X-Cache: MISS (origin fetch)X-Cache: HIT (re-cached)Age header resets to 0No requests logged yet.