0

我通过http://www.w3schools.com/tags/ref_httpmethods.asp弄湿了,想知道为什么我不应该总是更喜欢 POST 请求而不是 GET 请求。我可以想到两个 scnarios,我必须使用 POST 请求而不是 GET 请求。这些都是:-

1)我需要为 URL 添加书签的地方

2)我的要求是缓存网页(因为POST请求不缓存网页),以便下次命中相同的url时可以从缓存中获取并优化性能。

我同意 POST 请求旨在创建/更新 GET 请求旨在检索资源的资源。不过,从技术上讲,它们也可以反之亦然。

所以我想知道使用 POST 请求而不是 GET 请求(除了我上面提到的两个要求)是否总是有益的,因为 Post 更安全?我的理解正确吗?

4

1 回答 1

0

使用 HTTP 的方式有很多原因。这是一对:

  • 网络的价值建立在 URL 之上。每次您提供一个只能通过 POST 获得的页面时,您都拒绝选择链接到该页面以及为其添加书签。(显然,仍然可以制作表单按钮,但那样不方便。)即使页面是某种“服务”,链接仍然很有价值——这是您事先不会想到的。

  • 如果用户重新加载通过 POST 获得的页面,大多数 Web 浏览器会警告他们正在“重新提交表单”并确认操作。这是因为在设计不佳的应用程序中,这可能会导致下达重复订单或发布重复消息等事情。因此,对没有副作用的请求使用 GET 可以消除这种不必要的警告。实际上,对于具有效果的 POST 来说,一个有用的做法是将对它们的响应重定向到描述操作结果的页面的 URL(浏览器将获取该 URL)(例如,如果 POST 发表了评论,它会重定向到评论的链接);这样可以重新加载页面(这可能是隐含的,例如,如果重新启动浏览器),而不会对是否重新执行操作有任何歧义。

于 2013-09-29T16:11:11.247 回答