【问题标题】:Is there anything not good using POST instead of GET?使用 POST 而不是 GET 有什么不好的地方吗?
【发布时间】:2011-01-21 12:08:03
【问题描述】:

我知道 POST 和 GET 之间的区别,但是如果我使用 POST 而不是 GET,除了不符合 W3C 标准之外还有什么不好的吗? 有没有效率低下、不安全或其他什么?

【问题讨论】:

  • 如果你知道其中的区别,你就不需要问了 :-)

标签: http post get


【解决方案1】:

查看 deceze 的答案:

POST requests can't be bookmarked.

在我完成的所有采访中,我完成的所有教学中,这是最好的起点。还有很多,但从这里开始。

忽略任何关于安全的言论。优秀的黑客可以轻松地将 POST 更改为 GET。

如果您走到这一步,请知道 POST 会更改数据(添加会员资格或从信用卡中扣款),而 GET 只会获取数据(搜索红色衬衫)。浏览器的制造商使他们的浏览器对 POST 与 GET 的结果表现不同。 POST 的结果具有您可能不想重复的副作用(例如添加另一个会员资格或对信用卡进行双重收费)。

如果您理解 THIS,那么请阅读 POST-Redirect-GET 模式,并很好地理解它。 (然后知道 GET 有 URL 长度限制,在这种情况下您可能需要求助于 POST。)

【讨论】:

    【解决方案2】:

    切勿对普通的仅查看页面使用 POST 请求。不能为 POST 请求添加书签、发送电子邮件或以其他方式重复使用。他们使用浏览器的后退/前进按钮搞砸了正确的导航。仅在一个独特的操作中使用它们向服务器发送数据,并且(通常)通过重定向让服务器响应。

    除此之外,它们并不比 GET 请求更有效或更安全,它们只是用于不同的目的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-04
      • 2010-09-07
      相关资源
      最近更新 更多