title: checkbox/backbutton issue depending on the browser
body: <p>I've implemented a website in .jsp / JSTL / EL that works fine.  However, depending on the browser (!), the behavior of the back button is varying a bit.</p>
  
  <p>I did take care to not have double post (so that the browser does not warn the user that he's going to post again) but then apparently this leads to another issue: if I use the back button from Chrome, then the value of the checkboxes aren't correct.</p>
  
  <p>Here's the scenario as I understand it:</p>
  
  <ol>
  <li>user is on page <em>/page1</em> then checks a checkbox</li>
  <li>a POST is made, there's a HTTP redirect</li>
  <li>a GET is made, page <em>/page2</em> displays fine, with the checkbox checked as it should be</li>
  <li>user hits the back button</li>
  <li>user goes back to <em>/page1</em> as it was <em>before the checkbox was checked</em> (which is exactly the expected behavior for the back button) <strong>but</strong> the checkbox is still checked.</li>
  </ol>
  
  <p>From looking at the server's log and my application's log as far as I can see there's absolutely nothing transmitted to the webserver.  So it's purely on the client side that things are happening.</p>
  
  <p>What is going on and how can I fix this? (without using a framework, it's not what this question is about)</p>
  
  <p><strong>EDIT</strong> I should probably give a bit more info...  The webapp is already a bit "fancy" in that each page served --in a tiny URL-like fashion-- corresponds to a state.  Everything is "public": anyone can see anyone's pages (but it could be private, with private URLs).  Anyway: if a user shares <em>any</em> of its page, when another user shall open a page it shall display correctly and the checkboxes <strong>are</strong> correctly initialized.</p>
  
  <p>All this to say that the problem is not on the server side, where the "state" somehow wouldn't be correct: if user A share pages .../1d2eof then user B opening the page .../1d2eof shall see the correct page.</p>
  
  <p>The only times where this gets messed up is when the user uses the back button.  Remember that, at any point, I've got the full page's state accessible on the server side.  However my issue is that apparently when using the back button <em>nothing</em> contacts my server, so I don't get the chance to "fix the page" for the user who used the back button.</p>
  
  <p>Maybe a double redirect would help!?</p>