204 无内容

HTTP 的 204 No Content 成功响应 状态码表示请求已成功,但客户端不需要离开当前页面。204 响应默认可缓存,并且在这种情况下会包含 ETag 标头。

针对这些请求方法的 204 No Content 响应具有以下含义和结果

  • DELETE:操作成功,无需提供更多信息。
  • PUT:操作成功,并且 ETag 值包含目标资源新表示的实体标记。

在为维基网站等应用程序实现“保存并继续编辑”功能时,可以使用 204 响应。在这种情况下,可以使用 PUT 请求保存页面内容,而 204 No Content 响应指示浏览器不应将编辑器替换为其他内容。

状态

http
204 No Content

示例

删除图像后接收响应

在此示例中,客户端使用 DELETE 方法发送请求以删除图像。该请求包含一个带有令牌的 Authorization 标头以对请求进行身份验证。

http
DELETE /image/123 HTTP/1.1
Host: example.com
Authorization: Bearer 1234abcd

成功删除图像后,服务器将返回一个不带正文的 204 响应(以及明确的 Content-Length: 0 标头),表示无需将更多信息发送到客户端。

http
HTTP/1.1 204 No Content
Date: Wed, 26 Jun 2024 12:00:00 GMT
Server: Apache/2.4.1 (Unix)
Content-Length: 0

规范

规范
HTTP 语义
# status.204

兼容性说明

尽管此状态码旨在用于没有正文的响应,但服务器可能会错误地在标头之后包含数据。此问题在持久连接中可见,其中无效正文可能包含对后续请求的单独响应。HTTP 协议允许浏览器以不同的方式处理此类响应(关于 HTTPWG http-core GitHub 存储库 中的规范文本正在进行讨论)。

Apple Safari 会拒绝任何此类数据。Google Chrome 和 Microsoft Edge 会丢弃在有效响应之前最多四个无效字节。Firefox 容忍在有效响应之前超过 1 KB 的无效数据。

另请参阅