DELETE

HTTP 메서드

HTTP 메서드 DELETE의 사양

DELETE 메서드는 원본 서버가 대상 리소스와 현재 기능 간의 연결을 제거하도록 요청합니다. 사실상 이 메서드는 이전에 연결된 정보가 삭제되기를 기대하는 것이 아니라 원본 서버의 URI 매핑에 대한 삭제 작업을 표현합니다.

대상 리소스에 하나 이상의 현재 표현이 있는 경우 원본 서버에서 해당 표현이 삭제될 수도 있고 그렇지 않을 수도 있으며, 관련 스토리지가 회수될 수도 있고 회수되지 않을 수도 있습니다(이 사양의 범위를 벗어나는) 전적으로 자원의 특성 및 원본 서버의 구현에 따라 달라질 수 있습니다. 마찬가지로, 데이터베이스 또는 게이트웨이 연결과 같이 리소스의 다른 구현 측면도 삭제의 결과로 비활성화하거나 보관해야 할 수 있습니다. 일반적으로 원본 서버는 삭제 수행을 위해 규정된 메커니즘이 있는 리소스에 대해서만 DELETE를 허용한다고 가정합니다.

삭제 방법을 허용하는 리소스는 비교적 적으며, 주로 사용자가 그 효과에 대해 어느 정도 지시할 수 있는 원격 저작 환경에 사용됩니다. 예를 들어 이전에 PUT 요청을 사용하여 생성되었거나 POST 요청에 대한 201(Created) 응답 후 Location 헤더 필드를 통해 식별된 리소스는 해당 DELETE 요청을 통해 해당 작업을 취소할 수 있습니다. 마찬가지로 원격 작업을 위해 HTTP를 사용하는 리비전 제어 클라이언트와 같이 작성 기능을 구현하는 사용자 정의 사용자 에이전트 구현은 서버의 URI 공간이 버전 저장소에 대응하도록 만들어졌다는 가정 하에 DELETE를 사용할 수 있습니다.

DELETE 메서드가 성공적으로 적용되면 원본 서버는 작업이 성공할 가능성이 있지만 아직 실행되지 않은 경우 202(수락됨) 상태 코드를, 작업이 실행되었지만 추가 정보를 제공할 필요가 없는 경우 204(내용 없음) 상태 코드를, 작업이 실행되었고 응답 메시지에 상태를 설명하는 표현이 포함된 경우 200(확인) 상태 코드를 보내야 합니다.

DELETE 요청 메시지 내의 페이로드에는 정의된 의미가 없으므로 DELETE 요청에 페이로드 본문을 보내면 일부 기존 구현에서 요청을 거부할 수 있습니다.

DELETE 메서드에 대한 응답은 캐시할 수 없습니다. DELETE 요청이 유효한 요청 URI에 대해 하나 이상의 저장된 응답이 있는 캐시를 통과하면 해당 저장된 응답은 무효화됩니다([RFC7234] 섹션 4.4 참조).

HTTP 메서드(DELETE)는 인터넷 엔지니어링 태스크포스(IETF) 및 월드와이드웹 컨소시엄(W3C)에 의해 문서 RFC 7231의 섹션 4.3.5에 명시되어 있습니다.

DELETE 메서드에 대한 설명

진행 중인 작업

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