DELETE
HTTP 方法
指定 HTTP 方法 DELETE
DELETE 方法请求源服务器删除目标资源与其当前功能之间的关联。实际上,该方法类似于 UNIX 中的 rm 命令:它表达的是对源服务器 URI 映射的删除操作,而不是期望删除先前关联的信息。
如果目标资源有一个或多个当前表示,源服务器可能会也可能不会销毁它们,关联的存储可能会也可能不会被回收,这完全取决于资源的性质以及源服务器对其的实现(这超出了本规范的范围)。同样,由于 DELETE,资源的其他实现方面也可能需要停用或存档,如数据库或网关连接。
允许使用 DELETE 方法的资源相对较少,其主要用途是远程创作环境,在这种环境中,用户可对其效果进行一定的指导。例如,先前使用 PUT 请求创建的资源,或在对 POST 请求作出 201(创建)响应后通过位置标头字段识别的资源,可能允许相应的 DELETE 请求来撤销这些操作。同样,实现了编辑功能的自定义用户代理实现(例如使用 HTTP 进行远程操作的修订控制客户端)可能会根据服务器的 URI 空间已被设计为与版本库相对应这一假设来使用 DELETE。
如果成功应用了 DELETE 方法,那么如果操作可能成功但尚未执行,则源服务器应当发送 202(已接受)状态代码;如果操作已执行且无需提供进一步信息,则源服务器应当发送 204(无内容)状态代码;如果操作已执行且响应消息中包含描述状态的表示,则源服务器应当发送 200(确定)状态代码。
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
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
Content-Type: application/json
Date: Mon, 31 July 2023 14:58:12 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: no-store