HTTP重定向到部分响应(206)

时间:2015-06-25 08:43:39

标签: rest hateoas

我正在构建API,并尝试尽可能将其作为RESTFul。

为此,我构建了一个搜索控制器',这允许您查询可搜索的参数,并且发布到它将重定向(302)到控制器/资源,这是由于搜索。

这个其他控制器支持"范围:"标题允许客户端请求它想要的项目列表中的多少和位置。

阅读HTTP规范,它表示如果请求包含范围标题,服务器应仅响应206部分内容。发送范围标题和POST请求是否有效?

对我来说,回答第一个说10个项目是不好的,即使没有提供Range标题,还有206个。 206会让客户知道如果需要它可以要求更多的物品。

1 个答案:

答案 0 :(得分:0)

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html& http://svn.tools.ietf.org/svn/wg/httpbis/specs/rfc7233.html表示RANGE仅适用于GET请求。

我想知道为什么你不使用GET请求进行搜索,我猜它会是幂等的,所以GET会更合适。

另请注意,唯一注册的范围单位是字节,这对您来说可能不太有用(请参阅http://www.iana.org/assignments/http-parameters/http-parameters.xhtml#range-units),您当然可以拥有自己的自定义本地单位......但是...... < / p>

我所得到的是,如果您已经离开正常范围规范来添加自己的单位,您可以轻松地说该范围适用于您的命名空间中的POST。

我个人觉得将响应代码限制为特定的请求类型有点奇怪...服务器是否应该告诉客户端它只返回一个范围,即使它请求了整个事情?