207 Multi-Status
Una respuesta Multi-Status transmite información sobre múltiples recursos en situaciones donde múltiples códigos de estado podrían ser apropiados.
El cuerpo de respuesta Multi-Status por defecto es una entidad HTTP text/xml o application/xml con un elemento raíz 'multistatus'. Elementos adicionales contienen códigos de estado de las series 200, 300, 400 y 500 generados durante la invocación del método. Los códigos de estado de la serie 100 NO DEBERÍAN registrarse en un elemento XML 'response'.
Aunque '207' se usa como el código de estado de respuesta general, el destinatario necesita consultar el contenido del cuerpo de respuesta multistatus para obtener más información sobre el éxito o fracaso de la ejecución del método. La respuesta PUEDE usarse en situaciones de éxito, éxito parcial y también en situaciones de fracaso.
El elemento raíz 'multistatus' contiene cero o más elementos 'response' en cualquier orden, cada uno con información sobre un recurso individual. Cada elemento 'response' DEBE tener un elemento 'href' para identificar el recurso.
Una respuesta Multi-Status usa uno de dos formatos distintos para representar el estado:
1. Un elemento 'status' como hijo del elemento 'response' indica el estado de la ejecución del mensaje para el recurso identificado como un todo1. Algunas definiciones de método proporcionan información sobre códigos de estado específicos que los clientes deberían estar preparados para ver en una respuesta. Sin embargo, los clientes DEBEN ser capaces de manejar otros códigos de estado, usando las reglas genéricas definidas en RFC2616 Section 10.
2. Para PROPFIND y PROPPATCH, el formato ha sido extendido usando el elemento 'propstat' en lugar de 'status', proporcionando información sobre propiedades individuales de un recurso. Este formato es específico para PROPFIND y PROPPATCH, y se describe en detalle en RFC4918 Section 9.1 y RFC4918 Section 9.2.
- 1 Example - DELETE RFC4918 Section 9.6.2
- Source: RFC4918 Section 13
207 Code References
-
.NET HTTP Status Enum
HttpStatusCode.MultiStatus -
Rust HTTP Status Constant
http::StatusCode::MULTI_STATUS -
Rails HTTP Status Symbol
:multi_status -
Go HTTP Status Constant
http.StatusMultiStatus -
Symfony HTTP Status Constant
Response::HTTP_MULTI_STATUS