引用https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#2xx_Success:
204没有内容
服务器成功处理了请求,并且未返回任何内容。
这是关于不返回任何内容的部分:
或者,换句话说:如果我正在获取HTTP 204响应代码,是否可以安全地忽略获取非空主体而不担心数据丢失的可能性?还是最佳实践指示我应该检查主体是否确实为空,如果不是,则我不应该静默丢弃返回的数据?
答案 0 :(得分:0)
只有您的客户端和服务器。服务器可以是任何东西,任何自定义软件。 HTTP只是文本。某些HTTP服务器完全有可能输出204状态代码,其后是响应正文。在该服务器与您之间,没有任何东西可以阻止这种情况的发生。
是的,这是可能的。这是荒谬的。作为客户端,您完全正确,甚至在收到204代码并完全丢弃主体之后甚至停止从套接字读取数据。是要执行此操作,还是要在204决定执行后期望可能的身体数据。规范中的“ 204”表示“没有正文数据”。
答案 1 :(得分:0)
https://greenbytes.de/tech/webdav/rfc7230.html#message.body.length:
消息正文的长度由以下之一(按优先级顺序)确定:
- 任何对HEAD请求的响应以及任何带有1xx(信息性),204(无内容)或304(未修改)状态码的响应都始终由标头字段之后的第一个空行终止,而与标头无关消息中存在的字段,因此不能包含消息正文。