【发布时间】:2012-10-27 18:35:20
【问题描述】:
我正在构建一个 Web 应用程序,它可以通过 PUT、POST 和 PATCH 以 x-www-form-urlencoded 和 JSON 格式接受资源表示。如果我收到另一种格式的请求正文,我想发送一个415 响应,以及一些声明我接受哪些格式的附加数据(以类似于405 响应的强制性Allow: 标头的方式)。我在HTTP 406 and 415 error codes 的一个回答中看到,回答的人不知道是否定义了这样的机制,RFC 2616 在这方面没有提及任何内容,一些粗略的谷歌搜索也没有出现。
我想只使用Accept:,即使它被定义为请求标头。将其重新用于此响应似乎是最合适的。人家同意吗?谁有更好的建议?
编辑:我后来找到了Specify supported media types when sending "415 unsupported media type",它专门询问是否有这方面的标准。正确且被接受的答案基本上是no,但那里的受访者也和我有同样的想法,即 Accept 将是一个很好的标题,可以用来提供这些信息。这提示 a message 从 Julian Reschke 到 HTTP 工作组询问是否应该定义在响应中发送 Accept: 标头应该意味着什么。那封电子邮件只收到了一封回复,他们同意它是必要的,并且接受似乎是合适的。
请注意,我不是在询问我是否允许发送 Accept 标头,任何标头都可以向任一方向发送,但只有规范中定义的标头具有 含义(语义)到中介,而且,任何不以 X- 为前缀的意外标头都可能与 HTTP 的未来版本发生冲突。这不打扰我。
【问题讨论】:
-
我所有未解决的问题仍在等待可接受的答案。我很想看到发布给他们的新答案。
-
那么也许您应该提出可以以可接受的方式回答的问题。