On my MVC spring application I send a form to a page using post method to perform a search with some parameters. The results of the search is a list and, for every entry is possible to navigate to a details page. It works fine but, when an user try to come back to result page with back browser button (or a Javascript), I get an “Expire page” error. Refreshing the page, it rexecutes the post submit and it works fine.
To prevent this error I added
response.setHeader("Cache-Control", "no-cache");
to the search controller and everything works fine with Safari and Firefox but I get the same “Expire page” error when I try to execute the web application with IE (8 and 9).
What’s the right way to go to a detail page and come back without getting any error?
thanks for your time!
Andrea
The right way is to use GET instead of POST: searching is an idempotent operation which doesn’t cause any change on the server, and such operations should be done with a GET.