代码之家  ›  专栏  ›  技术社区  ›  Ben Crowhurst

Web服务和标头的不当使用

  •  1
  • Ben Crowhurst  · 技术社区  · 10 年前

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

    提出了两种解决方案。

    查询变量

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

    文件接受点

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

    第二种情况是HTTP头的使用不当吗?

    1 回复  |  直到 10 年前
        1
  •  1
  •   kolossus    10 年前

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

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

    就是这样。它是用来进行内容谈判的(AKA Conneg);虽然有可能,但不赞成改变用途