I'm implementing caching at the server application level, because my hosting doesn't provide Apache caching modules and it's not possible to use a reverse proxy there. Its cheap and fast hosting, so I don't want to change it.
Can I detect when the user presses F5 or Ctrl+F5, instead clicking on link to one page? I'm quite sure there are some special HTTP headers generated on request like this. Without it, the page will be always served from cache.
If-None-Match
header if the response to the first load did contain anETag
header.