409 Conflict indica che la richiesta non è stata completata perché è in conflitto con lo stato attuale della risorsa di destinazione. Il client potrebbe essere in grado di risolvere il conflitto e inviare di nuovo la richiesta, quindi la risposta dovrebbe contenere informazioni sufficienti a individuarne l’origine.
È più frequente con PUT e PATCH: due utenti modificano lo stesso documento, un client carica una versione più vecchia di quella memorizzata, oppure un’API rifiuta di creare un record che esiste già. In WebDAV, MKCOL e PUT restituiscono 409 quando la collezione padre non esiste.
Per le richieste condizionali con If-Match, la risposta standard è 412 Precondition Failed; il 409 copre i conflitti che il server rileva da sé.
Esempio di risposta
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 e verifica dei redirect
Il 409 riguarda le API e i flussi di modifica. I crawler recuperano le pagine con GET, quindi una pagina pubblica non dovrebbe mai restituire 409; se succede, viene trattata come un errore 4xx e non viene indicizzata.
Cause comuni e casi d’uso
- Due utenti hanno salvato lo stesso record e il secondo salvataggio viene rifiutato.
- Un client cerca di creare un utente, un file o un’altra risorsa che esiste già.
- Un client carica una versione di un file più vecchia di quella attuale.
- Un
MKCOLo unPUTWebDAV punta a una cartella la cui cartella padre non esiste.