3.2.5.6 Executing a Received Delete Request

The directives defined in this section apply when executing a received request of any of the Delete request types defined in Delete Request Types (section 2.2.7.4).

The server MUST validate the HTTP request URI identifies an existing EntityType instance, an EntityType instance property value, or a link. If this validation fails, a 4xx error response code MUST be returned, as specified in Common Response Codes (section 3.2.8). If the validation succeeds, the server MUST delete the resource (entityor link) identified by the request URI and return a response following the rules for the request type as specified in Delete Request Types (section 2.2.7.4).

This document defines the semantics of Delete request types (section 2.2.7.4) such that the resource identified by the request URI MUST no longer be available at that URI after the request successfully completes. This does not imply any mandatory action by the server in regard to the underlying resource; however, it SHOULD be deleted or moved to an alternate location (such as the recycle bin).

[RFC2616] stipulates that "A successful response SHOULD be 200 (OK) if the response includes an entity describing the status, 202 (Accepted) if the action has not yet been enacted, or 204 (No Content) if the action has been enacted but the response does not include an entity". A data service MUST complete the requested action prior to responding to a Delete request, and thus, successful delete operations MUST always return a 204 (No Content) response code.

If a Delete request type (section 2.2.7.4) includes a request payload, it MUST be ignored and the request MUST be treated as if no entity body was provided.