DELETE
HTTP-metod
Specifikation av HTTP-metoden DELETE
Med DELETE-metoden begärs att ursprungsservern tar bort kopplingen mellan målresursen och dess aktuella funktionalitet. I själva verket liknar denna metod rm-kommandot i UNIX: den uttrycker en raderingsoperation på URI-mappningen på ursprungsservern snarare än en förväntan att den tidigare associerade informationen raderas.
Om målresursen har en eller flera aktuella representationer kan de förstöras eller inte förstöras av ursprungsservern, och den associerade lagringen kan återkrävas eller inte, helt beroende på resursens natur och dess implementering av ursprungsservern (som ligger utanför omfattningen av denna specifikation). På samma sätt kan andra implementeringsaspekter av en resurs behöva avaktiveras eller arkiveras som ett resultat av en DELETE, t.ex. databas- eller gatewayanslutningar. I allmänhet antas det att ursprungsservern endast tillåter DELETE på resurser för vilka den har en föreskriven mekanism för att åstadkomma borttagningen.
Relativt få resurser tillåter DELETE-metoden - dess primära användning är för fjärranslutna författarmiljöer, där användaren har viss riktning angående dess effekt. Till exempel kan en resurs som tidigare skapats med en PUT-begäran, eller identifierats via rubrikfältet Location efter ett 201 (Created)-svar på en POST-begäran, tillåta en motsvarande DELETE-begäran för att ångra dessa åtgärder. På samma sätt kan anpassade implementeringar av användaragenter som implementerar en författarfunktion, till exempel revisionskontrollklienter som använder HTTP för fjärroperationer, använda DELETE baserat på ett antagande om att serverns URI-utrymme har utformats för att motsvara ett versionsförvar.
Om en DELETE-metod tillämpas framgångsrikt SKA ursprungsservern skicka en 202 (Accepterad) statuskod om åtgärden sannolikt kommer att lyckas men ännu inte har genomförts, en 204 (Inget innehåll) statuskod om åtgärden har genomförts och ingen ytterligare information ska tillhandahållas, eller en 200 (OK) statuskod om åtgärden har genomförts och svarsmeddelandet innehåller en representation som beskriver statusen.
En nyttolast i ett DELETE-begärandemeddelande har ingen definierad semantik; att skicka en nyttolastkropp på en DELETE-begäran kan leda till att vissa befintliga implementationer avvisar begäran.
Svar på DELETE-metoden kan inte cachas. Om en DELETE-begäran passerar genom en cache som har ett eller flera lagrade svar för den effektiva begäran URI, kommer dessa lagrade svar att ogiltigförklaras (se avsnitt 4.4 i [RFC7234]).
Beskrivning av DELETE-metoden
Exempel för HTTP-metoden 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