409 Conflict signifie que la requête n’a pas pu aboutir parce qu’elle entre en conflit avec l’état actuel de la ressource cible. Le client peut éventuellement résoudre le conflit et renvoyer la requête : la réponse devrait donc contenir suffisamment d’informations pour identifier l’origine du conflit.
C’est surtout courant avec PUT et PATCH : deux utilisateurs modifient le même document, un client envoie une version plus ancienne que celle qui est stockée, ou une API refuse de créer un enregistrement qui existe déjà. En WebDAV, MKCOL et PUT renvoient 409 lorsque la collection parente n’existe pas.
Pour les requêtes conditionnelles avec If-Match, la réponse standard est 412 Precondition Failed ; le code 409 couvre les conflits que le serveur détecte de lui-même.
Exemple de réponse
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 et vérification des redirections
Le code 409 relève des API et des processus d’édition. Les robots d’exploration récupèrent les pages avec GET : une page publique ne devrait donc jamais renvoyer 409 ; si c’est le cas, elle est traitée comme une erreur 4xx et n’est pas indexée.
Causes fréquentes et cas d’usage
- Deux utilisateurs ont modifié la même fiche, et le second enregistrement est rejeté.
- Un client tente de créer un utilisateur, un fichier ou une autre ressource qui existe déjà.
- Un client envoie une version de fichier plus ancienne que la version actuelle.
- Un
MKCOLou unPUTWebDAV cible un dossier dont le parent n’existe pas.