409 冲突

HTTP 的409 Conflict 客户端错误响应 状态码指示请求与目标资源的当前状态冲突。

WebDAV 远程 Web 创作中,409 冲突响应是发送到客户端的错误,以便用户能够解决冲突并重新提交请求。例如,如果发出创建集合/a/b/c/d/的请求,而/a/b/c/不存在,则请求必须以 409 失败。此外,如果上传的文件比服务器上已有的文件旧,则可能会收到 409 响应,从而导致版本控制冲突。

在其他系统中,409 响应可用于特定于实现的目的,例如指示服务器已收到多个更新同一资源的请求。

状态

http
409 Conflict

示例

不允许并发任务

在以下示例中,我们希望启动一个自动化流程,该流程在系统中执行一项常见任务。

http
POST /tasks HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "task": "emailDogOwners",
  "template": "pickup"
}

在此实现中,服务器不允许两个并发作业运行并返回 409,从而为客户端提供一个机会来检查他们是否打算执行该操作或运行其他任务。

http
HTTP/1.1 409 Conflict
Date: Wed, 26 Jun 2024 12:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Type: application/json

{
  "code": "AutomationConflict",
  "task": "emailDogOwners",
  "message": "Task locked. Cannot start a new automation since job is already running.",
  "runningTaskId": "123"
}

规范

规范
HTTP 语义
# status.409

另请参阅