By default, Cloudflare respects the origin web server’s cache headers in the following manner unless overridden via an [ **Edge Cache TTL** ](https://support.cloudflare.com/hc/articles/218411427#summary-of-page-rules-settings) Page Rule:
The resource was found in cache but has since expired and was served from the origin web server.
I have tested using cURL on my end and I was not able to replicate the issue consistently as in the first time I observed a cf-cache-status: EXPIRED but all subsequent requests were cf-cache-status: HIT. Are you able to consistently replicate this on your end? I tested against this URL - https://dcciinfo.ae
Can you change your page rule to this and see if that makes any difference for you.
Yes, the 1st request shows a HIT, the url is with a trailing /. However, in the browser, it gets redirected to the url without the trailing / and it shows EXPIRED
My 3rd request is the same url without ending / and it shows EXPIRED.
Similarly, all other pages on the domain show MISS first, then when I hard reload, it shows EXPIRED
On further testing, I found something interesting.
Enabled Litespeed Cache on the server
Used keycdn to check TTFB
Most locations show a small TTFB, and cf-cache-status shows a HIT, so it is having a direct impact. E.g. Frankfurt below shows TTFB as a minuscule 24ms (much joy ). Note it does not show Litespeed cache in the headers