DELETE

HTTP módszer

A DELETE-es HTTP-módszer specifikációja

A DELETE módszer arra kéri az eredeti kiszolgálót, hogy távolítsa el a cél erőforrás és az aktuális funkció közötti kapcsolatot. Ez a módszer tulajdonképpen a UNIX rm parancsához hasonlít: inkább egy törlési műveletet fejez ki a származási kiszolgáló URI-leképezésén, mint azt az elvárást, hogy a korábban társított információ törlődjön.

Ha a célerőforrásnak van egy vagy több aktuális reprezentációja, akkor azokat a származási kiszolgáló megsemmisítheti vagy nem, és a kapcsolódó tárolóhelyet visszakövetelheti vagy nem, ami teljes mértékben az erőforrás természetétől és a származási kiszolgáló általi megvalósításától függ (ami nem tartozik ennek a specifikációnak a tárgykörébe). Hasonlóképpen, az erőforrás más végrehajtási aspektusait is deaktiválni vagy archiválni kell a DELETE eredményeként, például az adatbázis- vagy átjárókapcsolatokat. Általánosságban feltételezhető, hogy a kiindulási kiszolgáló csak olyan erőforrások esetében engedélyezi a DELETE-t, amelyek esetében rendelkezik a törlés végrehajtására előírt mechanizmussal.

Viszonylag kevés erőforrás engedélyezi a DELETE módszert -- elsődlegesen távoli szerzői környezetekben használják, ahol a felhasználónak van némi utasítása a módszer hatását illetően. Például egy olyan erőforrás, amelyet korábban PUT-kérelemmel hoztak létre, vagy amelyet a Location fejlécmezőn keresztül azonosítottak egy POST-kérelemre adott 201 (Created) válasz után, lehetővé teheti a megfelelő DELETE-kérelemmel az említett műveletek visszavonását. Hasonlóképpen, a szerzői funkciót megvalósító egyéni felhasználói ügynök implementációk, például a HTTP-t távoli műveletekhez használó revíziós vezérlő kliensek is használhatják a DELETE-et, feltételezve, hogy a kiszolgáló URI-tartománya úgy lett kialakítva, hogy megfeleljen egy verzió-tárnak.

A DELETE módszer sikeres alkalmazása esetén az eredeti kiszolgálónak 202 (Elfogadva) állapotkódot KELL küldenie, ha a művelet valószínűleg sikeres lesz, de még nem került végrehajtásra, 204 (Nincs tartalom) állapotkódot, ha a művelet végrehajtásra került és nem kell további információt szolgáltatni, vagy 200 (OK) állapotkódot, ha a művelet végrehajtásra került és a válaszüzenet tartalmaz egy, az állapotot leíró ábrázolást.

A DELETE kérési üzeneten belüli hasznos teher nem rendelkezik meghatározott szemantikával; a hasznos teher testének DELETE kérésen történő elküldése néhány meglévő implementációban a kérés elutasítását eredményezheti.

A DELETE módszerre adott válaszok nem gyorsítótárba helyezhetők. Ha egy DELETE-kérelem áthalad egy olyan gyorsítótáron, amely egy vagy több tárolt választ tartalmaz a tényleges kérés URI-jára, akkor ezek a tárolt válaszok érvénytelenné válnak (lásd az [RFC7234] 4.4. szakaszát).

A DELETE-as HTTP-módszert az Internet Engineering Task Force (IETF) és a World Wide Web Consortium (W3C) a RFC 7231-as dokumentum 4.3.5. szakaszában határozta meg.

A DELETE módszer leírása

folyamatban lévő munka

Példa a DELETE-es HTTP-módszerre

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