使用Http 406返回什么?

时间:2014-01-28 23:26:18

标签: rest http-headers http-status-codes

我查看了RFC2616。对于“406”,它声明:

  

除非是HEAD请求,否则响应应该包括一个实体,其中包含可用实体特征和位置的列表,用户或用户代理可以从中选择最合适的实体特征和位置。实体格式由Content-Type头字段中给出的媒体类型指定。根据用户代理的格式和功能,可以自动选择最合适的选择。

但是,我对返回什么以及如何返回感到困惑。例如,如果我有一个只能返回JSON的RESTful'ish资源,以及调用者只想要XML的接受头部细节,我应该如何告诉他我只能返回JSON?

1 个答案:

答案 0 :(得分:0)

我认为使用资源提供的内容类型回复可用内容类型列表是安全的 - 在您的情况下是Json。

这是"尽力而为"服务的方法,客户有责任对问题作出反应或放弃请求。

例如,如果您到国外旅行(即去德国)并去当地的屠夫。你只说英语,屠夫只会说德语和法语。你用英文问牛肉 因为屠夫并不了解你,他会用德语和法语回答你要求改变你的要求的语言(#34; Sprechen Sie deutsch?"," Parlez vous Francais?&# 34)。

现在您可以选择: - 学习德语或法语(" Rindfleisch"," Boef") - 尝试另一种共同语言(手势,原始声音) - 离开并寻找懂英语的屠夫