Bill said:
I have had this problem and I think I understand it.]
But it is not a Perl problem - it is an HTTP one.
When your user selects his browser's "BACK" button, the browser usually
displays a local copy of the previous page rather than requesting an
update from the server. You probably cannot change this behavior.
The browser does not usually display a local copy. It depends on how
the browser is configured. It may be set to check on each loading, check
once per session, always assumethe cache entry is valid, etc.. This
setting *is* client depending and you can't affect it.
I have worked around the problem by providing a button (usually called
"PREV") which does what you intend. I turned out that it was often
useful to have both options available.
It would be interesting to know what this button did that was so
different to the user clicking on "Back".
This really is all to do with the HTTP protocol. The best thing to do
is probably something like:
a) Send an Expires header. Although look up HTTP1.0 vs. HTTP1.1
differences here, and various things you may also wish to set for proxying
and caches.
b) Handle IfModifiedSince headers (of course, you will have to decide
whether the content would have changed since the time the client sends).
(The relevant reply if no change is needed is just to send back the
relevant HTTP status, but I can't remember what that is at the moment.)