我通过http://www.w3schools.com/tags/ref_httpmethods.asp阅读 关于阅读vs post.Here是描述
为了清除混淆,我只是采用用户在第1页创建客户的方案(使用提交按钮)和 导航到成功页面(第2页)。
对于重新加载(比如用户在成功页面上按F5)点,获取请求被认为是无害的,在帖子请求中 “将重新提交数据”。
我对两个请求(GET / POST)的理解都会重新提交数据 。因此在客户场景中,将在用户时创建两个客户 按F5在页面上是否发布或获取。所以按照我的意见 理解,数据将在GET / POST请求中重新提交 没有一个是无害的。请纠正我的理解,如果它是错的?
历史点。在GET请求中说“参数保留在浏览器历史记录中”和POST请求 “参数未保存在浏览器历史记录中”。我的问题是如果请求参数没有保存 邮件请求中的浏览器历史记录,如何在成功页面上单击F5复制客户。他们存储了吗? 在其他位置而不是帖子请求中的浏览器历史记录?
答案 0 :(得分:0)
我会尝试逐点解释:
关于GET无害:方法GET被置于de idempotent,这意味着:给定相同的url和相同的参数,它总是应该返回相同的结果(user = 34,date = 01- 07-2013应该返回相同的页面)并且不应该改变任何东西(只做一种带有“user”和“date”的查询)。当然,违反此规则并实际更改内部状态(执行更新等)是很常见的,这就是您提到的情况(第1页 - >第2页创建内容)。 POST请求没有该要求,而是用于更改内部状态。
关于浏览器历史记录中剩余的参数:它们的真正含义是GET请求中的参数包含在URL本身中( mysite.com?user=34,date=01- 07-2013 )所以如果保存URL,你也可以保存参数。在POST请求参数中,请在请求正文中而不是作为URL的一部分;所以你是对的,旧的浏览器过去只用来存储URL,现在浏览器已经过优化,可以将这些POST参数存储在内部缓存中。