【问题标题】:Is 202 Accepted an acceptable response to an http patch?202 Accepted 是对 http 补丁的可接受响应吗?
【发布时间】:2025-11-28 01:15:01
【问题描述】:

我需要对资源进行异步更新。对于 202 Accepted 是否是对 PATCH 的适当响应,是否有明确的声明?

官方文档here 从未提及 202,并且似乎假设由于 PATCH 导致的资源更改是同步进行的,但它从未做出明确的声明。

PATCH 动作的适当原理图是什么?

【问题讨论】:

    标签: rest http http-patch


    【解决方案1】:

    我不明白为什么返回 202 是不好的。虽然没有明确提及使用202,但规范在示例中确实暗示了这一点。

    对现有文本文件的成功 PATCH 响应:

    HTTP/1.1 204 无内容内容位置:/file.txt ETag: “e0023aa4f”

    使用 204 响应码是因为响应不携带 消息正文(带有 200 代码的响应将具有)。注意
    也可以使用其他成功代码

    202 是一个成功代码,它的定义并不禁止它在PATCH 中使用。

    10.2.3 202 接受

    请求已被接受处理,但处理已 没有完成。请求最终可能会或可能不会被执行 上,因为在实际进行处理时可能不允许这样做。 无法从异步重新发送状态码 像这样的操作。

    202 响应是故意不置可否的。其目的是 允许服务器接受对其他进程的请求(可能是 面向批处理的过程,每天只运行一次) 要求用户代理与服务器的连接一直持续到 该过程完成。随此响应返回的实体 应包括请求当前状态的指示和 指向状态监视器的指针或用户何时估计 可以期望请求得到满足。

    只要您以原子方式修补并且异步请求不会使资源处于半修补状态,这应该是好的。

    【讨论】:

      最近更新 更多