DELETE ist die HTTP-Methode, mit der ein Client den Server auffordert, eine Ressource zu löschen. Die Adresse benennt, was verschwinden soll, ein Body ist in der Regel nicht nötig.
- DELETE
Die HTTP-Methode zum Entfernen der Ressource, die unter der angegebenen Adresse liegt.
Beispiel: „Ein DELETE auf /api/termine/88 sagt den Termin ab und gibt ihn für andere Kunden frei.“Verwandt: Idempotenz. Ein zweites DELETE auf dieselbe Adresse findet nichts mehr, der Zustand bleibt derselbe.
Was der Server auf DELETE antwortet
Meist 204 ohne Inhalt, wenn die Löschung erledigt ist, oder 200 mit einer Bestätigung. Dauert sie länger, etwa weil Daten erst in einem Hintergrundprozess entfernt werden, passt 202.
Ein zweiter Aufruf liefert oft 404, weil es die Ressource nicht mehr gibt. Das ist kein Widerspruch zur Idempotenz: Der Zustand auf dem Server ist derselbe, nur die Antwort fällt anders aus.
DELETE im Vergleich mit den anderen Methoden
Die Übersicht zeigt alle neun HTTP-Methoden. Sicher heißt, dass eine Methode nichts verändert; idempotent heißt, dass mehrfaches Senden dasselbe Ergebnis hat wie einfaches.
Methode | Wofür | Sicher | Idempotent |
|---|---|---|---|
Ressource abrufen, ohne etwas zu ändern | ja | ja | |
wie GET, aber nur die Kopfzeilen | ja | ja | |
Daten senden, meist etwas Neues anlegen | nein | nein | |
Ressource vollständig ersetzen | nein | ja | |
Ressource teilweise ändern | nein | nein | |
DELETE | Ressource löschen | nein | ja |
erlaubte Methoden erfragen | ja | ja | |
Tunnel über einen Proxy aufbauen | nein | nein | |
Anfrage zur Fehlersuche zurückspiegeln | ja | ja |
DELETE absichern
Löschen gehört hinter eine Anmeldung und eine Prüfung der Rechte, bei jedem einzelnen Aufruf. Viele Anwendungen markieren Datensätze außerdem zunächst nur als gelöscht, damit sich ein Versehen rückgängig machen lässt.
Und Löschen läuft nie über einen Link per GET. Browser, Vorschaudienste und Suchmaschinen rufen Links von sich aus auf.