DELETE
HTTP-metode
Specifikation af HTTP-metoden DELETE
DELETE-metoden anmoder om, at originalserveren fjerner tilknytningen mellem målressourcen og dens aktuelle funktionalitet. Faktisk svarer denne metode til rm-kommandoen i UNIX: den udtrykker en sletning af URI-kortlægningen på originalserveren snarere end en forventning om, at de tidligere tilknyttede oplysninger slettes.
Hvis målressourcen har en eller flere aktuelle repræsentationer, bliver de måske eller måske ikke ødelagt af originalserveren, og det tilknyttede lager bliver måske eller måske ikke genvundet, helt afhængigt af ressourcens art og dens implementering af originalserveren (hvilket ligger uden for denne specifikations anvendelsesområde). På samme måde kan det være nødvendigt at deaktivere eller arkivere andre implementeringsaspekter af en ressource som følge af en DELETE, f.eks. database- eller gateway-forbindelser. Generelt antages det, at originalserveren kun vil tillade DELETE på ressourcer, hvor den har en foreskrevet mekanisme til at udføre sletningen.
Relativt få ressourcer tillader DELETE-metoden - dens primære anvendelse er til eksterne forfattermiljøer, hvor brugeren har nogle retningslinjer for dens virkning. For eksempel kan en ressource, der tidligere blev oprettet ved hjælp af en PUT-anmodning eller identificeret via Location-header-feltet efter et 201 (Created)-svar på en POST-anmodning, tillade en tilsvarende DELETE-anmodning for at fortryde disse handlinger. På samme måde kan brugerdefinerede brugeragent-implementeringer, der implementerer en forfatterfunktion, såsom revisionskontrolklienter, der bruger HTTP til fjernoperationer, bruge DELETE baseret på en antagelse om, at serverens URI-område er blevet udformet til at svare til et versionslager.
Hvis en DELETE-metode anvendes med succes, BØR den oprindelige server sende en 202 (Accepteret)-statuskode, hvis handlingen sandsynligvis vil lykkes, men endnu ikke er gennemført, en 204 (Intet indhold)-statuskode, hvis handlingen er gennemført, og der ikke skal leveres yderligere oplysninger, eller en 200 (OK)-statuskode, hvis handlingen er gennemført, og svarmeddelelsen indeholder en repræsentation, der beskriver status.
En payload i en DELETE-anmodning har ingen defineret semantik; at sende en payload body på en DELETE-anmodning kan få nogle eksisterende implementeringer til at afvise anmodningen.
Svar på DELETE-metoden kan ikke gemmes i cachen. Hvis en DELETE-anmodning passerer gennem en cache, der har et eller flere lagrede svar for den effektive anmodnings-URI, vil disse lagrede svar blive ugyldiggjort (se afsnit 4.4 i [RFC7234]).
Beskrivelse af DELETE-metoden
Eksempel på 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