DELETE
The DELETE
HTTP method asks the server to delete a specified resource.
The DELETE
method has no defined semantics for the message body, so this should be empty.
Request has body | May |
---|---|
Successful response has body | May |
Safe | No |
Idempotent | Yes |
Cacheable | No |
Allowed in HTML forms | No |
Syntax
DELETE <request-target>["?"<query>] HTTP/1.1
<request-target>
-
Identifies the target resource of the request when combined with the information provided in the
Host
header. This is an absolute path (e.g.,/path/to/file.html
) in requests to an origin server, and an absolute URL in requests to proxies (e.g.,https://www.example.com/path/to/file.html
). <query>
Optional-
An optional query component preceded by a question-mark
?
. Often used to carry identifying information in the form ofkey=value
pairs.
Examples
Successfully deleting a resource
The following request asks the server to delete the resource file.html
:
DELETE /file.html HTTP/1.1
Host: example.com
If the request is successful, there are several possible successful response status codes.
A 204 No Content
response means the request was successful and no additional information needs to be sent back to the client:
HTTP/1.1 204 No Content
Date: Wed, 04 Sep 2024 10:16:04 GMT
A 200 OK
response means the request was successful and the response body includes a representation describing the outcome:
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
Date: Fri, 21 Jun 2024 14:18:33 GMT
Content-Length: 1234
<html>
<body>
<h1>File "file.html" deleted.</h1>
</body>
</html>
A 202 Accepted
response means the request has been accepted and will probably succeed, but the resource has not yet been deleted by the server.
HTTP/1.1 202 Accepted
Date: Wed, 26 Jun 2024 12:00:00 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 1234
<html>
<body>
<h1>Deletion of "file.html" accepted.</h1>
<p>See <a href="https://example.com/tasks/123/status">the status monitor</a> for details.</p>
</body>
</html>
Specifications
Specification |
---|
HTTP Semantics # name-delete |
Browser compatibility
The browser doesn't use the DELETE
method for user-initiated actions, so "browser compatibility" doesn't apply.
Developers can set this request method using fetch()
.
See also
- HTTP statuses:
200
,202
,204
- HTTP request methods
- HTTP response status codes
- HTTP headers