对不支持的页面格式(例如xml)进行适当的HTTP响应?

时间:2011-08-08 12:30:49

标签: rest request httpresponse

情况

我正在尝试创建一个REST API,用户可以在其中请求不同格式的响应。

例如,用户可以访问:

  

example.com/oranges/1.xml(以XML格式返回结果)

     

example.com/oranges/1.json(以JSON格式返回结果)

问题

指示特定响应格式不可用的正确HTTP响应是什么?

例如,用户尝试访问:

  

example.com/oranges/1.yml(不支持的格式)

我会抛出404还是有更好的回复?

2 个答案:

答案 0 :(得分:4)

如果您在URL中编码所需的格式,那么404确实是正确的响应 - 它告诉客户端它将永远不会,禁止服务器更改,能够对该URL执行任何操作。

通过正确的HTTP内容协商,使用Accept请求标头(这将是更多的RESTamentalist选择),对不受支持的类型的适当响应将是406。

答案 1 :(得分:0)