POST是否比GET更紧凑,因为GET请求必须进行URL编码?
答案 0 :(得分:5)
两者的目的完全不同,所以我不会以这种方式比较它们。 GET
用于数据检索,除此之外不应有任何副作用。 POST
用于发送数据,而不是检索数据。
答案 1 :(得分:4)
POST也是如此。它们同样紧凑。这是 数据的问题。对于POST,它进入请求正文。对于GET - 进入URL本身。此外,在multpart/form-data
编码的情况下(文件上传需要,但在这种情况下GET请求不是一个选项,无论如何)POST将更加详细。
答案 2 :(得分:2)
不,POST请求仍然必须放入http查询中。您只是没有将它们视为URL的一部分。
IE这里是一个获取查询
GET <url with params>
vs后查询
POST <url>
...
<params>
答案 3 :(得分:2)
POST中还有一个字母,而不是GET,所以它不那么紧凑。
如果紧凑性非常重要且您不关心HTTP语义,请改用二进制协议。 POST和GET的语义不同,HTTP没有针对紧凑性进行优化。
答案 4 :(得分:2)
您可能希望查看以下有关获取与后期可用性的信息。 http://www.w3.org/2001/tag/doc/whenToUseGet.html
总结一下:
如果符合以下条件,请使用GET:
互动更像是一个问题。例如,查找,只读操作等
使用POST if:
交互更像是一个订单,更改了资源的状态,或者用户将对交互结果负责。
请注意,这些都不考虑请求的SIZE。更多的想法,你可以考虑互联网的早期阶段,当搜索引擎只是通过对他们抓取的链接执行GET请求导致数据库问题。这是因为一些程序员使用GET请求来改变资源状态(例如删除记录,删除表等)。
答案 5 :(得分:1)
快速说明:根据Yahoo YUI团队和YSlow,当使用XMLHttpRequest对象(AJAX)时,POST几乎总是使用两个数据包,而GET将使用一个(内容长度允许)。
这意味着如果您使用GET,您的AJAX请求会“更紧凑”。
来源: