DELETE
HTTP-methode
Specificatie van de HTTP-methode DELETE
De methode DELETE verzoekt de origin server om de associatie tussen de doelbron en zijn huidige functionaliteit te verwijderen. In feite is deze methode vergelijkbaar met het rm-commando in UNIX: het drukt een verwijderbewerking uit op de URI-toewijzing van de origin server in plaats van de verwachting dat de eerder geassocieerde informatie wordt verwijderd.
Als de doelbron een of meer huidige representaties heeft, kunnen deze al dan niet worden vernietigd door de origin server en kan de bijbehorende opslag al dan niet worden teruggehaald, volledig afhankelijk van de aard van de bron en de implementatie ervan door de origin server (die buiten het bereik van deze specificatie vallen). Het is ook mogelijk dat andere implementatieaspecten van een bron gedeactiveerd of gearchiveerd moeten worden als gevolg van een DELETE, zoals database- of gatewayverbindingen. In het algemeen wordt ervan uitgegaan dat de origin server alleen DELETE toestaat op bronnen waarvoor een voorgeschreven mechanisme bestaat om de verwijdering uit te voeren.
Relatief weinig bronnen staan de methode DELETE toe -- deze methode wordt voornamelijk gebruikt voor remote authoring-omgevingen, waar de gebruiker enige aanwijzingen heeft met betrekking tot het effect ervan. Bijvoorbeeld, een bron die eerder is gemaakt met een PUT-verzoek of is geïdentificeerd via het headerveld Location na een 201 (Aangemaakt) antwoord op een POST-verzoek, kan een overeenkomstig DELETE-verzoek toestaan om deze acties ongedaan te maken. Ook implementaties van aangepaste gebruikersagenten die een auteursfunctie implementeren, zoals revisiecontrolecliënten die HTTP gebruiken voor bewerkingen op afstand, zouden DELETE kunnen gebruiken op basis van de aanname dat de URI-ruimte van de server is aangepast om overeen te komen met een versiebewaarplaats.
Als een DELETE-methode met succes wordt toegepast, ZOU de origin server een 202 (Accepted) statuscode MOETEN zenden als de actie waarschijnlijk zal slagen maar nog niet is uitgevoerd, een 204 (No Content) statuscode als de actie is uitgevoerd en er geen verdere informatie hoeft te worden verstrekt, of een 200 (OK) statuscode als de actie is uitgevoerd en het antwoordbericht een representatie bevat die de status beschrijft.
Een payload in een DELETE-verzoekbericht heeft geen gedefinieerde semantiek; het verzenden van een payload in een DELETE-verzoek kan ertoe leiden dat sommige bestaande implementaties het verzoek afwijzen.
Responses op de DELETE-methode kunnen niet in de cache worden opgeslagen. Als een DELETE-verzoek door een cache gaat die een of meer opgeslagen reacties heeft voor de effectieve URI van het verzoek, worden die opgeslagen reacties ongeldig gemaakt (zie paragraaf 4.4 van [RFC7234]).
Beschrijving van de DELETE-methode
Voorbeeld voor de HTTP-methode 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