DELETE
HTTP metodas
HTTP metodo DELETE specifikacija
DELETE metodu prašoma, kad pradinis serveris pašalintų tikslinio ištekliaus ryšį su dabartine jo funkcija. Iš esmės šis metodas yra panašus į UNIX komandą rm: juo išreiškiama URI atvaizdavimo iš kilmės serverio pašalinimo operacija, o ne lūkestis, kad anksčiau susieta informacija bus pašalinta.
Jeigu tikslinis išteklius turi vieną ar daugiau dabartinių atvaizdavimų, kilmės serveris gali juos sunaikinti arba ne, o susijusi saugykla gali būti atgauta arba ne, o tai visiškai priklauso nuo ištekliaus pobūdžio ir jo įgyvendinimo kilmės serveryje (tai nepatenka į šios specifikacijos taikymo sritį). Panašiai gali tekti išjungti arba archyvuoti kitus ištekliaus įgyvendinimo aspektus, pvz., duomenų bazės ar šliuzo ryšius, kai atliekamas DELETE. Apskritai manoma, kad kilmės serveris leis DELETE naudoti tik tuose ištekliuose, kuriems jis turi nustatytą ištrynimo mechanizmą.
Lyginti nedaug išteklių leidžia naudoti DELETE metodą - jis pirmiausia naudojamas nuotolinio autorizavimo aplinkose, kur naudotojas gali nurodyti, kokį poveikį jis turi. Pavyzdžiui, ištekliui, kuris anksčiau buvo sukurtas naudojant PUT užklausą arba identifikuotas pagal antraštės lauką Location po 201 (Created) atsakymo į POST užklausą, gali būti leidžiama atitinkama DELETE užklausa atšaukti šiuos veiksmus. Panašiai, pasirinktinės naudotojo agento realizacijos, įgyvendinančios autorizavimo funkciją, pavyzdžiui, peržiūros kontrolės klientai, naudojantys HTTP nuotolinėms operacijoms, gali naudoti DELETE, remdamiesi prielaida, kad serverio URI erdvė buvo sukurta taip, kad atitiktų versijų saugyklą.
Jeigu DELETE metodas taikomas sėkmingai, kilmės serveris TURI siųsti būsenos kodą 202 (Accepted), jei veiksmas greičiausiai bus sėkmingas, bet dar neįvykdytas, būsenos kodą 204 (No Content), jei veiksmas įvykdytas ir daugiau informacijos pateikti nereikia, arba būsenos kodą 200 (OK), jei veiksmas įvykdytas ir atsakymo pranešime yra būseną apibūdinantis atvaizdas.
DELETE užklausos pranešime esanti naudingoji apkrova neturi apibrėžtos semantikos; siunčiant naudingosios apkrovos kūną DELETE užklausoje, kai kurios esamos realizacijos gali atmesti užklausą.
DELETE metodo atsakymų negalima talpinti į talpyklą. Jei DELETE užklausa praeina pro talpyklą, kurioje yra vienas ar daugiau išsaugotų atsakymų, susijusių su veiksmingu užklausos URI, šie išsaugoti atsakymai bus panaikinti (žr. [RFC7234] 4.4 skirsnį).
.DELETE metodo aprašymas
HTTP metodo DELETE pavyzdys
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