DELETE
HTTP метод
Спецификация на HTTP метод DELETE
Методът DELETE изисква от сървъра на произхода да премахне връзката между целевия ресурс и текущата му функционалност. По същество този метод е подобен на командата rm в UNIX: той изразява операция за изтриване на URI съпоставянето на сървъра на произхода, а не очакване, че свързаната преди това информация ще бъде изтрита.
Ако целевият ресурс има едно или повече текущи представяния, те могат да бъдат или да не бъдат унищожени от сървъра на произхода, а свързаното хранилище може да бъде или да не бъде възстановено, което зависи изцяло от естеството на ресурса и неговата реализация от сървъра на произхода (които са извън обхвата на тази спецификация). По подобен начин може да се наложи други аспекти на изпълнението на ресурса да бъдат деактивирани или архивирани в резултат на DELETE, като например връзки към база данни или шлюз. Като цяло се предполага, че сървърът на произхода ще позволи DELETE само за ресурси, за които има предписан механизъм за извършване на изтриването.
Относително малко ресурси позволяват метода DELETE - основното му приложение е за отдалечени авторски среди, където потребителят има някакви указания относно ефекта от него. Например ресурс, който преди това е бил създаден с помощта на заявка PUT или е бил идентифициран чрез полето на заглавието Location (Местоположение) след отговор 201 (Created) на заявка POST, може да позволи съответната заявка DELETE да отмени тези действия. По подобен начин персонализираните реализации на потребителски агенти, които изпълняват авторски функции, като например клиенти за контрол на ревизиите, използващи HTTP за отдалечени операции, могат да използват DELETE въз основа на предположението, че URI пространството на сървъра е създадено така, че да съответства на хранилище за версии.
Ако методът DELETE е приложен успешно, сървърът на произхода ТРЯБВА да изпрати код на състоянието 202 (Accepted), ако действието вероятно ще бъде успешно, но все още не е изпълнено, код на състоянието 204 (No Content), ако действието е изпълнено и не трябва да се предоставя допълнителна информация, или код на състоянието 200 (OK), ако действието е изпълнено и съобщението за отговор включва представяне, описващо състоянието.
Потребният товар в съобщението за заявка DELETE няма определена семантика; изпращането на тяло на полезен товар в заявка DELETE може да накара някои съществуващи реализации да отхвърлят заявката.
Отговорите на метода DELETE не могат да се кешират. Ако заявката DELETE премине през кеш, който има един или повече съхранени отговори за ефективния URI на заявката, тези съхранени отговори ще бъдат анулирани (вж. раздел 4.4 на [RFC7234]).
Описание на метода DELETE
Пример за 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