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 |