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]).

HTTP-metode DELETE er blevet specificeret i afsnit 4.3.5 i dokument RFC 7231 af Internet Engineering Task Force (IETF) og World Wide Web Consortium (W3C).

Beskrivelse af DELETE-metoden

igangværende arbejde

Eksempel på HTTP-metoden DELETE

Request header:
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
Response header:
Content-Type: application/json
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-store