DELETE

Metoda HTTP

Specyfikacja metody HTTP DELETE

Metoda DELETE żąda od serwera źródłowego usunięcia powiązania między zasobem docelowym a jego bieżącą funkcjonalnością. W efekcie metoda ta jest podobna do polecenia rm w systemie UNIX: wyraża operację usuwania na mapowaniu URI serwera źródłowego, a nie oczekiwanie, że wcześniej powiązane informacje zostaną usunięte.

Jeśli zasób docelowy ma jedną lub więcej bieżących reprezentacji, mogą one zostać zniszczone przez serwer źródłowy, a powiązana pamięć może zostać odzyskana lub nie, w zależności całkowicie od charakteru zasobu i jego implementacji przez serwer źródłowy (które wykraczają poza zakres tej specyfikacji). Podobnie, inne aspekty implementacji zasobu mogą wymagać dezaktywacji lub archiwizacji w wyniku DELETE, takie jak połączenia z bazą danych lub bramą. Ogólnie rzecz biorąc, zakłada się, że serwer źródłowy zezwoli na DELETE tylko na zasobach, dla których ma określony mechanizm do wykonania usunięcia.

Stosunkowo niewiele zasobów zezwala na metodę DELETE - jej głównym zastosowaniem są zdalne środowiska autorskie, w których użytkownik ma pewne wskazówki dotyczące jej efektu. Na przykład zasób, który został wcześniej utworzony za pomocą żądania PUT lub zidentyfikowany za pomocą pola nagłówka Location po odpowiedzi 201 (Created) na żądanie POST, może zezwalać na odpowiednie żądanie DELETE w celu cofnięcia tych działań. Podobnie, niestandardowe implementacje agenta użytkownika, które implementują funkcję autorską, takie jak klienci kontroli wersji używający HTTP do zdalnych operacji, mogą używać DELETE w oparciu o założenie, że przestrzeń URI serwera została spreparowana tak, aby odpowiadała repozytorium wersji.

Jeśli metoda DELETE zostanie pomyślnie zastosowana, serwer źródłowy POWINIEN wysłać kod stanu 202 (Accepted), jeśli akcja prawdopodobnie się powiedzie, ale nie została jeszcze wprowadzona, kod stanu 204 (No Content), jeśli akcja została wprowadzona i nie należy dostarczać dalszych informacji, lub kod stanu 200 (OK), jeśli akcja została wprowadzona, a komunikat odpowiedzi zawiera reprezentację opisującą status.

Ładunek w komunikacie żądania DELETE nie ma zdefiniowanej semantyki; wysłanie treści ładunku w żądaniu DELETE może spowodować odrzucenie żądania przez niektóre istniejące implementacje.

Odpowiedzi na metodę DELETE nie są buforowane. Jeśli żądanie DELETE przejdzie przez pamięć podręczną, która ma jedną lub więcej przechowywanych odpowiedzi dla efektywnego URI żądania, te przechowywane odpowiedzi zostaną unieważnione (patrz sekcja 4.4 [RFC7234]).

.

Metoda HTTP DELETE została określona w sekcji 4.3.5 dokumentu RFC 7231 przez Internet Engineering Task Force (IETF) i World Wide Web Consortium (W3C).

Opis metody DELETE

prace w toku

Przykład dla metody HTTP 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