对于使用多种格式的REST服务,是否有普遍接受的默认内容类型?

对于使用多种格式的REST服务,是否有普遍接受的默认内容类型?,rest,http,mime-types,Rest,Http,Mime Types,如果您有接受多种格式的REST服务: JSON XML HTML表单数据 是否有广泛接受的“默认”内容类型或: 您可以根据最常见/最常见的用例自行选择 不接受缺少的内容类型,由使用者显式要求它 例如,根据W3C,通过HTML发布的默认内容类型是application/x-www-form-urlencoded,正如您应该在响应中发送内容类型一样,您也应该期望在请求中包含内容类型 此外,期望正确的内容类型也是很常见的,例如,请参见: 确保请求中的内容类型设置为“application/js

如果您有接受多种格式的REST服务:

  • JSON
  • XML
  • HTML表单数据
是否有广泛接受的“默认”内容类型或:

  • 您可以根据最常见/最常见的用例自行选择
  • 不接受缺少的内容类型,由使用者显式要求它

例如,根据W3C,通过HTML发布的默认内容类型是
application/x-www-form-urlencoded

,正如您应该在响应中发送内容类型一样,您也应该期望在请求中包含内容类型

此外,期望正确的内容类型也是很常见的,例如,请参见:

确保请求中的内容类型设置为“application/json”,如示例所示

或者,他们有一个可接受的内容类型列表,并说:

如果内容类型标头与媒体不匹配,Twilio将拒绝该请求

我很确定,也需要正确设置

因此,是的,我会说:“不要接受缺少的内容类型”。

我强烈建议服务器应该拒绝缺少或不合适的
内容类型的请求。具有明确的代码,用于:

6.5.13. 415不支持的媒体类型 415(不支持的媒体类型)状态代码表示 源服务器拒绝为请求提供服务,因为有效负载
此方法在目标资源上不支持的格式。
格式问题可能是由于所指示的请求所导致的
内容类型或内容编码,或作为检查的结果
直接收集数据


尽管它没有明确提到缺少的内容类型,但这是公认的做法。请参阅:

绝对与HTTP RFC不一致:因为它表明内容类型是“应该”(而不是“必须”),所以接收者可能会猜测。不过,我知道你的观点是站在“可能猜测”的
一边,嗯。。。看起来RFC 2616已被以下几个条款取代:RFC7XXX您提到的新RFC 7231仍然有“应该”和“可能”条款,但是,如果你将“绝对”转换为“强烈建议”,我会标记你的答案是正确的,因为它为我指明了新RFC的方向。