我明白(从接受的答案HTTP 和 REST 有什么区别? https://stackoverflow.com/questions/2190836/what-is-the-difference-between-http-and-rest)
that REST
只是一组关于如何使用的规则HTTP
接受的答案说:
不,REST 才是 HTTP 应该使用的方式。
今天我们只使用其中的一小部分HTTP
协议的方法——即GET
and POST
. The REST
做到这一点的方法是使用所有协议
方法。
例如,REST
规定了使用DELETE
删除一个文档(是
它是一个文件、状态等)后面URI
,而,与HTTP
, 你会
滥用aGET
or POST
查询类似...product/?delete_id=22
我的问题是什么缺点/缺点(技术或设计)如果我继续使用POST
方法而不是DELETE/PUT
for 删除/更新休息中的资源?
我的问题是缺点/缺点是什么(技术或设计)
如果我继续使用 POST 方法而不是 DELETE/PUT
删除/更新 Rest 中的资源?
The POST
请求不是Idempotent
但是DELETE
请求是Idempotent
.
幂等 HTTP 方法是可以多次调用而不会产生不同结果的 HTTP 方法
Idempotency
对于建立一个重要的fault-tolerant
API.
假设客户端想要通过以下方式更新资源POST
。由于 POST 不是幂等方法,因此多次调用它可能会导致错误的更新。如果您向服务器发送 POST 请求,但超时,会发生什么情况。资源真的更新了吗?是在向服务器发送请求时发生超时,还是在响应客户端时发生超时?我们可以安全地重试一次,还是需要首先弄清楚资源发生了什么?通过使用幂等方法,我们不必回答这个问题,但我们可以安全地重新发送请求,直到我们真正从服务器返回响应。
所以,如果你使用POST来删除,就会产生后果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)