IDEMPOTENTHTTP PUT和DELETE:服务器是否应该检查现有数据,以及如何处理响应?

问题描述 投票:0回答:1

为: 如果客户端多次发送相同的PUT有效负载,则服务器应每次覆盖资源,或者如果数据不变,请跳过写操作?

    如果服务器跳过冗余写作,它如何检测数据是相同的(例如,比较哈希,逐场检查还是使用ETAG/IF-Match标头)?
  1. 删除: 如果客户端发送了不再存在的资源的删除请求,则服务器应返回:

    找不到404(表示资源已经消失)?
  2. 204没有任何内容(将其视为成功,因为实现了所需的状态)?

    • MDN的文档很清楚地指出:
    • 为了使人掌握,仅考虑服务器的状态。每个请求返回的响应可能会有所不同。
  3. PUT
- 从掌声的角度来看,在对象的末端很重要。 服务器是检查对象的当前状态,盲目覆盖它还是做其他事情是无关紧要的。只要在请求的处理结束时,对象的状态与请求中描述的状态匹配,则将处理视为diadempotent。 如上所述,在
rest http put idempotent
1个回答
0
投票
-

DELETE

-thim tho tho the the the the the返回值不会影响dempotentcy。基于努力的行为表明,请求的结果是,一旦完成请求的处理,就不应存在,无论是否从那里开始。 就个人而言,我将返回404用于删除不存在的对象,但是如前所述,无论您返回404、200还是其他任何事物,该行为仍然是不明智的。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.