你能要求'204 No Content`吗?

时间:2015-02-21 22:58:31

标签: rest http http-headers

是否有一种编码方式向HTTP服务器表明客户端不愿意接收内容?一个特殊的Accept标题或类似内容?例如,Accept: no-content

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

用例适用于特别大的PUT请求。获取内容对于开发和调试很有用,但对于生产系统来说却很昂贵。我意识到这可以与自定义标题或参数一起被黑客攻击;我正在寻找一个更清洁的解决方案。

编辑:我正在编写服务

2 个答案:

答案 0 :(得分:3)

如果您不控制服务器,则无法实现。您拥有的最佳选择是在获得响应后立即终止tcp连接。

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

Prefer: return=representation

此标头在rfc7240中定义。

答案 1 :(得分:2)

PUT没有一般的语义集导致它返回内容。这完全取决于特定的服务。 HTTP规范没有说明回复给你的内容。你抛出PUT的特定服务有一些控制其冗长的方法,或者它没有。由于你没有指定它,没有人比这更有帮助。