我正在设计一个API来通过HTTP,我想知道是否使用HTTP POST命令,但只有URL查询参数,没有请求体,是一个很好的方法。
注意事项:
Content-Length: 0
报头。在POST请求中通过URL查询而不是通过请求体发送参数还有什么缺点或优点吗?
编辑:考虑这一点的原因是操作不是幂等的,除了检索之外还有其他副作用。看到# EYZ0:
特别地,惯例已经 建立了GET和HEAD 方法不应该有 采取行动的意义 比检索。这些方法应该 被认为“安全”。这允许用户 代表其他方法的代理, 例如POST, PUT和DELETE 特殊的方式,使用户做出来 意识到一个可能的事实 请求不安全操作
...
方法也可以具有属性 “idempotence"(除了…… 错误或过期问题) N >的副作用;0相同 请求与单个请求相同 请求。方法GET, HEAD, PUT 和DELETE共享此属性。同时, 方法OPTIONS和TRACE应该 没有副作用,所以 幂等。< / p >