使用POST而不是GET有什么不好的吗?

时间:2011-01-21 03:23:35

标签: http post get

我知道POST和GET之间的区别,但是如果我使用POST代替GET,那么除了W3C标准之外什么都不好? 任何低效率,不安全或其他任何事情?

2 个答案:

答案 0 :(得分:2)

参见deceze的答案:

POST requests can't be bookmarked.

在我所做的所有采访中,我所做的所有教学,这是最好的开始。还有更多,但从这开始。

忽略任何人对安全性所说的话。一个好的黑客可以轻松地将POST更改为GET。

如果你到目前为止,知道POST会更改数据(添加会员资格或收取信用卡费用),而GET只会提取数据(搜索红色衬衫)。浏览器制造商使他们的浏览器对POST和GET的结果表现不同。 POST的结果有副作用,您可能不想重复(例如添加其他会员资格或双倍信用卡收费)。

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

答案 1 :(得分:1)

永远不要将POST请求用于普通的仅查看页面。 POST请求无法加入书签,通过电子邮件发送或以其他方式重复使用。他们使用浏览器后退/前进按钮搞砸正确的导航。只能使用它们在一个独特的操作中将数据发送到服务器,并且(通常)让服务器回答重定向。

除此之外,它们的效率或安全性都不如GET请求,它们仅用于不同的目的。