DELETE
Metóda HTTP
Špecifikácia metódy HTTP DELETE
Metóda DELETE požaduje, aby server pôvodu odstránil spojenie medzi cieľovým prostriedkom a jeho aktuálnou funkčnosťou. Táto metóda je v podstate podobná príkazu rm v systéme UNIX: vyjadruje skôr operáciu odstránenia mapovania URI pôvodného servera než očakávanie, že sa odstránia predtým pridružené informácie.
Ak má cieľový prostriedok jednu alebo viac aktuálnych reprezentácií, môže, ale nemusí ich pôvodný server zničiť a pridružené úložisko môže, ale nemusí byť obnovené, čo úplne závisí od povahy prostriedku a jeho implementácie pôvodným serverom (ktoré sú mimo rozsahu tejto špecifikácie). Podobne môže byť potrebné deaktivovať alebo archivovať iné implementačné aspekty prostriedku v dôsledku DELETE, ako napríklad spojenia s databázou alebo bránou. Vo všeobecnosti sa predpokladá, že pôvodný server povolí DELETE len na zdrojoch, pre ktoré má predpísaný mechanizmus na vykonanie vymazania.
Relatívne málo zdrojov umožňuje metódu DELETE - jej primárne použitie je pre vzdialené autorské prostredia, kde má používateľ určité pokyny týkajúce sa jej účinku. Napríklad zdroj, ktorý bol predtým vytvorený pomocou požiadavky PUT alebo identifikovaný prostredníctvom poľa hlavičky Location po odpovedi 201 (Created) na požiadavku POST, môže umožniť, aby príslušná požiadavka DELETE zrušila tieto činnosti. Podobne vlastné implementácie používateľských agentov, ktoré implementujú autorskú funkciu, napríklad klienti kontroly revízií používajúci HTTP na vzdialené operácie, môžu používať DELETE na základe predpokladu, že priestor URI servera bol vytvorený tak, aby zodpovedal úložisku verzií.
Ak sa úspešne použije metóda DELETE, pôvodný server MUSÍ poslať stavový kód 202 (Accepted), ak akcia pravdepodobne uspeje, ale ešte nebola vykonaná, stavový kód 204 (No Content), ak akcia bola vykonaná a nie je potrebné poskytnúť žiadne ďalšie informácie, alebo stavový kód 200 (OK), ak akcia bola vykonaná a správa odpovede obsahuje reprezentáciu opisujúcu stav.
Platobné zaťaženie v rámci správy požiadavky DELETE nemá definovanú sémantiku; odoslanie tela užitočného zaťaženia v požiadavke DELETE môže spôsobiť, že niektoré existujúce implementácie požiadavku odmietnu.
Odpovede na metódu DELETE nie je možné ukladať do vyrovnávacej pamäte. Ak požiadavka DELETE prejde cez vyrovnávaciu pamäť, ktorá má pre účinný URI požiadavky uloženú jednu alebo viac odpovedí, tieto uložené odpovede sa zneplatnia (pozri časť 4.4 [RFC7234]).
Opis metódy DELETE
Príklad pre metódu HTTP 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