La solicitud no pudo ser completada debido a un conflicto con el estado actual del recurso objetivo. Este código se usa en situaciones donde el usuario podría ser capaz de resolver el conflicto y reenviar la solicitud.
El servidor DEBERÍA generar un contenido que incluya suficiente información para que un usuario reconozca la fuente del conflicto.
Los conflictos son más probables de ocurrir en respuesta a una solicitud PUT. Por ejemplo, si se estuviera usando versionado y la representación siendo PUT incluyera cambios a un recurso que entran en conflicto con los hechos por una solicitud anterior (de terceros), el servidor de origen podría usar una respuesta 409 para indicar que no puede completar la solicitud. En este caso, la representación de respuesta probablemente contendría información útil para fusionar las diferencias basándose en el historial de revisiones.
- Source: RFC7231 Section 6.5.8
Referencias por lenguaje
- .NET HTTP Status Enum
HttpStatusCode.Conflict - Rust HTTP Status Constant
http::StatusCode::CONFLICT - Rails HTTP Status Symbol
:conflict - Go HTTP Status Constant
http.StatusConflict - Symfony HTTP Status Constant
Response::HTTP_CONFLICT - Python2 HTTP Status Constant
httplib.CONFLICT - Python3+ HTTP Status Constant
http.client.CONFLICT - Python3.5+ HTTP Status Constant
http.HTTPStatus.CONFLICT