你能请求“204 No Content”吗?

Can you request `204 No Content`?

是否有一种代码化的方式来向 HTTP 服务器指示客户端不希望接收内容?一个特殊的Acceptheader之类的?例如,Accept: no-content

如果存在,服务器将 return 一个 204 No Content 响应。如果不存在,服务器将默认为 application/json 表示。

该用例针对特别大的 PUT 请求。取回内容对开发和调试很有用,但对生产系统来说代价高昂。我意识到这可以与自定义 headers 或参数一起被破解;我正在寻找更清洁的解决方案。

编辑:我正在编写服务

没有通用的 PUT 语义集使其成为 return 内容。这完全取决于特定的服务。 HTTP 规范没有说明返回给您的内容。要么您向其发送 PUT 的特定服务有某种控制其冗长的方法,要么没有。由于您没有指定它,没有比这更有帮助的了。

如果你不控制服务器,你真的做不到。最好的选择是在收到响应后立即终止 tcp 连接。

如果您也在开发服务器,则可以选择。最好的设计是 默认发送结果,并允许用户明确请求新的演示文稿:

Prefer: return=representation

这个header是在rfc7240中定义的。