409 Conflict 表示要求與目標資源目前的狀態衝突,因此無法完成。用戶端或許能夠解決衝突後重送要求,因此回應中應包含足夠的資訊,讓用戶端找出衝突的來源。
它最常出現在 PUT 與 PATCH:兩位使用者編輯同一份文件、用戶端上傳的版本比已儲存的版本舊,或 API 拒絕建立已經存在的紀錄。在 WebDAV 中,如果上層集合不存在,MKCOL 與 PUT 會回傳 409。
對於帶有 If-Match 的條件式要求,標準的回應是 412 Precondition Failed;409 則涵蓋伺服器自行偵測到的衝突。
回應範例
HTTP
HTTP/1.1 409 Conflict
Date: Fri, 06 Nov 2026 10:15:32 GMT
Content-Type: application/problem+json
Content-Length: 99
{"title":"Edit conflict","detail":"The document was changed by another user (current version: 7)."} SEO 與重新導向檢查
409 屬於 API 和編輯流程。爬蟲以 GET 擷取網頁,因此公開網頁絕不應回傳 409;如果回傳了,就會被當成 4xx 錯誤處理,不會編入索引。
常見原因與使用情境
- 兩位使用者儲存同一筆紀錄,第二次儲存遭到拒絕。
- 用戶端嘗試建立已經存在的使用者、檔案或其他資源。
- 用戶端上傳的檔案版本比目前的版本舊。
- WebDAV 的
MKCOL或PUT指向上層資料夾不存在的資料夾。