DELETE
Método HTTP
Especificación del método HTTP DELETE
El método DELETE solicita que el servidor de origen elimine la asociación entre el recurso de destino y su funcionalidad actual. En efecto, este método es similar al comando rm en UNIX: expresa una operación de borrado en el mapeo URI del servidor de origen en lugar de una expectativa de que la información previamente asociada sea borrada.
Si el recurso de destino tiene una o más representaciones actuales, podrían o no ser destruidas por el servidor de origen, y el almacenamiento asociado podría o no ser recuperado, dependiendo completamente de la naturaleza del recurso y su implementación por el servidor de origen (que están más allá del alcance de esta especificación). Del mismo modo, otros aspectos de la implementación de un recurso podrían tener que ser desactivados o archivados como resultado de un DELETE, como las conexiones a bases de datos o pasarelas. En general, se asume que el servidor de origen sólo permitirá DELETE en los recursos para los que tiene un mecanismo prescrito para llevar a cabo la eliminación.
Relativamente pocos recursos permiten el método DELETE - su uso principal es para entornos de autoría remota, donde el usuario tiene alguna dirección con respecto a su efecto. Por ejemplo, un recurso creado previamente mediante una solicitud PUT, o identificado a través del campo de cabecera Ubicación tras una respuesta 201 (Creado) a una solicitud POST, podría permitir una solicitud DELETE correspondiente para deshacer esas acciones. Del mismo modo, las implementaciones personalizadas de agentes de usuario que implementan una función de autoría, como los clientes de control de revisiones que utilizan HTTP para operaciones remotas, podrían utilizar DELETE basándose en la suposición de que el espacio URI del servidor ha sido creado para corresponder a un repositorio de versiones.
Si un método DELETE es aplicado con éxito, el servidor de origen DEBERÍA enviar un código de estado 202 (Accepted) si la acción probablemente tendrá éxito pero aún no ha sido ejecutada, un código de estado 204 (No Content) si la acción ha sido ejecutada y no se debe proporcionar más información, o un código de estado 200 (OK) si la acción ha sido ejecutada y el mensaje de respuesta incluye una representación describiendo el estado.
Una carga útil dentro de un mensaje de solicitud DELETE no tiene una semántica definida; el envío de un cuerpo de carga útil en una solicitud DELETE puede hacer que algunas implementaciones existentes rechacen la solicitud.
Las respuestas al método DELETE no son almacenables en caché. Si una petición DELETE pasa a través de una caché que tiene una o más respuestas almacenadas para el URI de la petición efectiva, esas respuestas almacenadas serán invalidadas (ver Sección 4.4 de [RFC7234]).
Solicitud DELETE no tiene una semántica definida.
Descripción del método DELETE
Ejemplo para el método HTTP DELETE
DELETE /data/item/123 HTTP/1.1
Host: api.example.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/58.0.3029.110 Safari/537
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept-Language: de-DE,de;q=0.5
Connection: keep-alive
Content-Type: application/json
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-store