I use max-age 900 (one website) and 600 (other website) served by origin (for HTML), and a Page Rule is set with Origin Cache Control On and Cache Level: Cache Everything (despite one website is using Bypass on cookie in this combination), while Browser Cache TTL: Respect Existing Headers and Edge Cache TTL not used.
Check your origin for .json, does it serve some cache-control max-age for this specific MIME type? Is this JSON content/file a HTTP GET response? Was it generated by the PHP or?
I’m not able to reproduce either, I have some “nearly dynamic” with a max-age=30 while most of the rest of the content in that directory is immutable and therefore has some excessively long cache time.
Thank you for clarifying. I guess this option doesn’t help me. Since I need this option in a page rule. Are you aware of why CF overrides my original server cache control value?