答案 0 :(得分:4)
取决于。
通常,获取页面是GET请求,而F5只执行另一个GET。 您无法检测到“F5”,而应检测请求是“GET”还是“POST”。
如果您填写表单,然后单击“提交”,然后再执行F5,您通常会收到浏览器的警告,因为它会进行另一次POST。
例如,Firefox会说:“要显示此页面,Firefox必须发送重复之前执行的任何操作(例如搜索或订单确认)的信息。[重新发送] [取消]”
因此,F5可能是GET或POST,你需要能够处理它们。
阻止用户从浏览器收到此消息的一种方法是使用Post/Redirect/Get习语。
使用某些Web框架时可能会造成混淆,因为看起来不像表单提交按钮(导致POST)的东西实际上是。例如,在ASP.NET中,单击链接可能会进行回发,而通常情况并非如此。