I'm trying to set up cache-control for a static page. I want to make sure that the user who views this page multiple times hits their browser cache every time.
I set two headers when returning the page:
Expires: Wed, 15 Feb 2006 18:33:40 GMT
The expires header is explicitly set to be 3 days in the future. I'm testing this out with the server and client having a synced clock (or close enough).
These two headers *should* prevent firefox from making a GET request for the page for 24 hours after the first get. I know I can also make use of the If-Modified-Since headers, but there is still a round trip to the server to use those - introducing unneeded latency.
Now, I understand that if the user explicitly refreshes the page, that firefox should issue GET requests anyway. Thats fine. But I notice that firefox also seems to issue GET requests for every *other* request that the user makes of that file.
1. load static.html -> GET resource, server returns
2. load static.html -> Firefox cache hit
3. load static.html -> GET resource, server 304 (Not Modified)
4. load static.html -> Firefox cache hit
5. load static.html -> GET resource, server 304 (Not Modified)
This continues indefinitely. Is this a bug in firefox? Is there some way I can convince firefox to make a cache hit every time?