是否有READ-ONLY HTTP响应头?

时间:2015-03-27 16:38:12

标签: rest http http-headers readonly-attribute

使用REST原则和HTTP标头,我想告诉我的客户我的回复是READ-ONLY。我的内容类型是text / plain。我的一些回复是READ-ONLY而另一些则不是,而且我的客户无法区分它,直到他做了PUT并且它出错,导致糟糕的用户体验。

我是否需要将Content-Type设置为text / vnd.read-only或application / octet-string?

3 个答案:

答案 0 :(得分:3)

通常,客户端会向资源发出HTTP OPTIONS请求。如果PUT列在"允许"标题,然后可以修改资源。

如果存在application / JSON的Content-Type响应,则可以将字段添加到JSON元数据中,该字段将有效负载标记为READ-ONLY。

答案 1 :(得分:0)

我认为没有专门的HTTP标头。

尽管如此,我认为有两种可能性可以在您的回复中提供此提示:

  • 在您的回复中添加自定义标题,告知最终用户该内容是只读的。这样的事情:

    GET http://...
    (...)
    Content-type: application/json
    x-readonly: true
    {
        (...)
    }
    
  • 您还可以在标题Content-Type 中添加参数。有关此标题的格式,请参阅此链接http://www.ietf.org/rfc/rfc1521.txt(第9页)。您可以看到可以在其中添加参数。这不会破坏REST库和框架的处理。所以你可以有类似的东西:

    GET http://...
    (...)
    Content-type: application/json; readonly=true
    {
        (...)
    }
    

希望它可以帮到你, 亨利

答案 2 :(得分:-1)

也许你可以使用状态代码来解决这个问题? http://en.wikipedia.org/wiki/List_of_HTTP_status_codes