表单提交后我应该使用301,302还是303重定向?

时间:2016-05-20 03:22:00

标签: php forms redirect http-status-code-301 http-status-code-302

我正在php中创建一个简单的问答板。当有人提交问题的答案时,php脚本会将用户重定向到原始问题,并在页面底部显示更新后的答案。

在这种情况下,使用301,302或303重定向会更好吗?我在考虑302重定向,因为重定向不是永久性的或静态的 - 重定向取决于发送到提交脚本的参数。但是,我已经看到303推荐用于某些形式。

1 个答案:

答案 0 :(得分:1)

这种情况的正确重定向将是303重定向,因为您从表单提交(可能是POST请求)重定向到查看页面(应该是GET请求)并且它是临时重定向(即重定向可能会根据参数而改变)。

这由标准支持:

  

可以在不同的URI下找到对请求的响应,并且应该使用该资源上的GET方法检索。此方法主要用于允许输出POST激活的脚本以将用户代理重定向到选定的资源。新URI不是最初请求的资源的替代引用。 303响应绝不能被缓存,但对第二个(重定向)请求的响应可能是可缓存的。