davidwwatts — 2010-01-08T16:50:55-05:00 — #1
If I make changes to any of the pages of my web site, in order for me to see the change, I have to press Ctrl-F5 to force a reload. Simply pressing F5 (or clicking the Reload button) will refresh the page, but it doesn't go back to the server to get the updated HTML. The pages are all static HTML.
Other users have reported similar problems, some using Firefox, some using IE (both IE7 and IE8).
markbrown4 — 2010-01-08T18:24:10-05:00 — #2
Are you sure this is different to how other websites behave?
As far as I know it's up to the browser how it handles the refresh button and F5 in the browser.
You can send different headers when you serve pages to control caching but I don't believe you want to force it or make your pages expire quickly. Here's the first google results that came up on the topic.
I generally just accept how the cache works in the browser - if you are releasing things like news articles each day you may want to make those pages expire after a time - but that would be an exception.
felgall — 2010-01-08T18:53:21-05:00 — #3
That's the difference between F5 and ctrl-F5 with most browsers.
ctrl-F5 = reload the page from the server ot pick up any changes made to the page source.
davidwwatts — 2010-01-08T20:42:35-05:00 — #4
Thanks. That's what I thought, however one user reported that they were still seeing old information on the home page, and it turned out to be several weeks old, even though they'd visited the page several times over that time, and I had made several changes to the home page in that time. Very odd. I don't recall having this problem except in the past few months.
felgall — 2010-01-08T21:48:20-05:00 — #5
It partly depends on browser settings as to how long browsers keep cached copies of pages before they discard them and look for updates from the site.
It can also depend on ISP caching since some ISPs cache pages that their users access regularly so as to save their having to constantly retrieve the pages and so provide faster access (which may not be completely up to date for a while after the page is changed).
The headers you pass with the page can also advise as to how long you expect the information in the page to be current for.
black_max — 2010-01-09T17:54:50-05:00 — #6
Stephen, here's a related question: in Opera, when I try to refresh a page stored on my computer, neither F5 nor Ctrl+F5 does the trick. Any idea why?
David, I've seen some productions at Raleigh's Little Theater. You guys do good work. But your dropdown nav doesn't work for me in Opera.
alexdawson — 2010-01-10T04:34:16-05:00 — #7
Max that's because F5 and Ctrl+F5 (Reload) have the same effect in Opera.
I would purge your temporary files and try again (Opera does have a few weird caching quirks IMO).
rotem — 2010-01-10T10:42:58-05:00 — #8
You shall Configure your browser not to get cache from your website,
Hope this is helping,
davidwwatts — 2010-01-14T19:34:34-05:00 — #9
Thanks for all the replies. Yes clearing the cache certainly does the job but many visitors of my site have this problem, so that's not a viable solution. In some instances, the page they were seeing was weeks old.
I think this particular site of mine has an unusual problem with caching. As I said in my first post, on this site of mine , when I make a change to the page, pressing F5 doesn't reload the page from the server, so I don't see the change. However on another site of mine  also static HTML pages, if I make a change, then press F5, the page IS reloaded from the server and I see the updated page. So clearly something is broken with my first site .
I read through the link that markbrown4 gave me (above) to see what can be done to force an update. I've tried various settings in my .htaccess file and using the Live HTTP Headers plugin in FF, I can see that these settings are being picked up, but it is as if they are being ignored. Here are the things I added to the .htaccess file:
Expire after 2 DAYS
Header set Cache-Control "max-age=172800, must-revalidate"
Expire after 1 HOUR
Header set Cache-Control "max-age=3600, must-revalidate"
Even waiting an hour or more, if I press F5 still doesn't reload the page from the server, as I expected it to do.
Pressing F5 should reload the page from the server as it does on other web sites including my site , but for some reason, F5 doesn't work on  (and I'm sure it used to, btw). There must be something on the server end, but I can't figure out what.
davidwwatts — 2010-01-14T19:37:41-05:00 — #10
Max, Thanks for the pointer to Opera not working on the RLT site. I guess I need to install that and see what happens. Any particular version or OS?
davidwwatts — 2010-01-21T14:09:39-05:00 — #11
Any more suggestions as to what I can do to solve this problem? There is definitely something broken with the raleighlittletheatre.org site. If I make changes to a page, then the only way I can see those changes straight away is to press Ctrl-F5. If I make a similar change to a page on on my other site, baretheatre.org, pressing F5 will show the latest (or the updated page will just appear when I go there). I don't need to press Ctrl-F5.
My big concern is that most of my users aren't aware of the Ctrl-F5 option, so they just don't see the changes I make in a timely fashion.
davidwwatts — 2010-01-24T19:15:24-05:00 — #12
OK the problem has been solved. I was able to have my problem escalated to my hosting company's senior admin and he looked into the problem. It turned out that FileETag was incorrectly enabled on the server where my site  was hosted. This apparently resulted in files been cached incorrectly. My other side  on a different server already had this setting disabled so it wasn't seeing the same problem.
davidwwatts — 2010-01-24T19:40:55-05:00 — #13
BTW, I was also able to workaround the problem by adding the following line to my .htaccess file but I felt this was only temporary since it eliminated all caching.
Header set Cache-Control: "no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0"