Http POST请求应该呈现HTML还是重定向?

Http POST请求应该呈现HTML还是重定向?,http,post,Http,Post,POST请求应该呈现HTML还是重定向 我讨厌你在页面上刷新,让浏览器告诉你,你要再次发布数据。是的,最好避免这种情况。是的。它应该发送一个实体或重定向 (对不起,以前的节目笑话有时会出现) 这真的取决于你是否能有意义地给予一些东西去获得,这是有意义的 示例:我买了东西,看到一个页面上写着“谢谢你,雅达雅达订单号,收据,雅达” 这应该是一个303-See-Other重定向,这样我就可以得到一个包含该信息的页面。我可以为它添加书签,以便以后使用,刷新只会刷新获取的内容。快乐的日子 但是,有时,只有

POST请求应该呈现HTML还是重定向


我讨厌你在页面上刷新,让浏览器告诉你,你要再次发布数据。

是的,最好避免这种情况。

是的。它应该发送一个实体或重定向

(对不起,以前的节目笑话有时会出现)

这真的取决于你是否能有意义地给予一些东西去获得,这是有意义的

示例:我买了东西,看到一个页面上写着“谢谢你,雅达雅达订单号,收据,雅达”

这应该是一个303-See-Other重定向,这样我就可以得到一个包含该信息的页面。我可以为它添加书签,以便以后使用,刷新只会刷新获取的内容。快乐的日子

但是,有时,只有在呈现即时响应时才有意义,如果它们刷新,则重复实际操作,而书签是毫无意义的,不应该是重定向

在大多数情况下,不管怎样,都要尽量少使用后者。如果因为某个表单出现故障而必须将其返回表单,则这是最有用的—没有人想要失败表单的书签,他们希望修复需要修复的内容并继续使用它

请注意,许多服务器端系统(ASP等)在从POST重定向时使用302,这严格来说应该意味着它会再次发布,但几乎没有浏览器会这样做。相反,要更清楚:

  • 如果您想再次重定向帖子,那么帖子会转到另一个URI——当然不会,这还有其他问题——但是如果您真的必须这样做,那么307
  • 如果你想继续写一篇文章来解释结果,303。它明确的意思是“现在做一个得到”

  • 如果用户单击浏览器上的“返回”按钮,则会出现重复表单提交。