在所有情况下都可以使用POST代替GET吗?

时间:2014-03-08 06:59:49

标签: http post get httprequest

我已经阅读了很多关于GET和POST之间差异的文章。 StackOverflow提供了很多这样的功能。

重要差异的摘要是:

  • Post可以通过身体发送信息,而GET不应该(但我认为它可以实际完成)
  • 某些浏览器缓存GET结果并依赖于GET请求的幂等行为。
  • 使用GET比为大多数开发人员使用POST容易得多。

总结这个摘要,在POST情况下使用GET是危险和危险的。 但忽略容易性是真的,POST可以用来代替GET请求,因为它似乎完全涵盖了GET要求。

为了澄清我并不疯狂!我不会使用POST而不是GET。这个问题即将检查我是否正确理解了GET和POST差异。

2 个答案:

答案 0 :(得分:3)

不,POST不是GET请求的替代品。有一个POST请求无法执行GET请求的两件重要事情。

  1. 只需在浏览器的地址栏中输入URL即可生成POST请求。这总是会产生GET请求。
  2. 您无法使用HTML中的普通链接生成POST请求。这具有深远的影响。您找不到只能使用任何搜索引擎的POST请求访问的页面,除非通过HTML表单或使用Javascript完成,否则无法链接到该页面。

答案 1 :(得分:0)

您对交易进行分类是一种很好的做法。当您开发面向API服务的体系结构甚至是单页应用程序时,这些方法非常重要。

GET - 用于检索数据集。 (也有对url长度的限制。参数被暴露和urlencoded。) POST - 保存/添加(这更安全)

EX:

GET /items - means you are getting the list of items. 
POST /items - means you are saving/adding item(s)

以后你可能还需要学习PUT和DELETE。

但是现在,在保存/添加数据时,始终在表单或ajax请求中使用POST。和检索数据时获取。