Edge Cache TTL page rule behavior (override or fallback?)

Hi folks,

I am struggling to understand the exact behavior of the “Edge Cache TTL page rule”. There seems to be no documentation explicitly saying whether this acts a fallback or an override for responses that return no cache control headers from the origin.

The problem is, I wanted to use this page rule globally as a fallback while allowing some pages to opt out at the origin using cache-control: max-age=0, no-cache, no-store, must-revalidate, private. As it does have the desired effect on the Cache Everything page rule (page won’t be cached) I expected the Edge Cache TTL page rule to also be ignored if cache-control: no-cache is present, but the experience shows that this is not the case, no-cache pages are still edge-cached.

I found an older blog post here from 2013 that suggests that the Edge Cache TTL page rule is actually an override: https://blog.cloudflare.com/edge-cache-expire-ttl-easiest-way-to-override/
See “Respect all existing headers” on the screenshot that is unfortunately no longer part of the user interface.

Unfortunately, both links in that blog post in this sentence are broken: " You can find more information in our knowledge base articles here and here".

Are there any better sources on expected behavior of this rule?

Cloudflare respects the origin web server’s cache headers in the following order unless an Edge Cache TTL page rule overrides the headers.


Thanks, I will compare my real life experience with this and report back any discrepancies.

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.