在网站开发中,我们不可避免的要使用post以提交数据,如表单提交,积分修改等,首先,我们需要明确的是:post在什么情况下是必须的:
涉及数据修改等不可重入地址的情况下,应是使用post的。
但是在ie等浏览器下,post数据后,用户点击后退,页面会回到一个提示用户已经过期的页面,用户再度刷新,数据又被post了一次,这就是不合理的了。
那么,我们用什么方法解决了,刚好,浏览器和http协议给我们提供了一个302,临时重定向的功能,我们就能够很好的避免用户后退过程中,再度刷新页面的问题了。
一个原理图如下:
以上是正确的程序走向,但是用户能看到的就只是1,3,4这三个页面,同时,因为你告诉浏览器了你用的是302,浏览器会认为2这个页面不存在,用户后退就只能从4到3到1,避免数据重复提交,同时也解决用户不能后退体验不好的问题。
看吧,浏览器给出响应是302