Web服务和标头的不当使用

时间:2014-08-25 08:21:23

标签: web-services rest http-headers

目前,我们正在开发一种RESTful服务,该服务要求在某些情况下返回(回显)新创建/更新的资源实体,或者在其他情况下回复任何内容;因此节省了网络负载。

已经提出了两种解决方案。

查询变量

POST http://service/resource?echo=false

接受标题

if ( request.has_header( "Accept" ) )
    echo back newly created resource
else
    ignore

第二种情况是否不当使用HTTP标头?

1 个答案:

答案 0 :(得分:1)

正如您已经推测的那样,第二种用法是不正确地使用该标头。 “正确”RESTful接口的原则是遵循HTTP标准的原则。遵守标准意味着按照规定的方式使用HTTP语法。第二个提案符合 not 使用规定的条件。不要把它从我这里拿走(我知道什么),把它拿走from the HTTP spec itself

  

Accept request-header字段可用于指定响应可接受的某些媒体类型。 Accept标头可用于指示请求仅限于一小组所需类型

就是这样。它旨在用于内容协商(AKA Conneg);在可能的情况下重新利用它是不受欢迎的