HTTP选项 - 不可缓存?

时间:2012-10-25 16:43:38

标签: http rest hateoas

我正在设计一个尽可能符合HATEOAS原则的RESTful服务。因此,我需要一种方法让我的酷URL返回描述可用选项的链接列表。我正在使用HAL-JSON来促进数据格式,所以这一切都很好,但我现在正在考虑采用哪种HTTP方法。

我确信我可以坚持使用简单的GET,但是通过阅读HTTP RFC,似乎OPTIONS可能适合这里的法案。我唯一关注的是粗体:

  

9.2选项

     

OPTIONS方法表示有关的信息请求   请求/响应链上可用的通信选项   由Request-URI标识。这种方法允许客户端   确定与资源相关的选项和/或要求,   或服务器的功能,而不暗示资源操作或   启动资源检索。

     

对此方法的回复不可缓存。

在网络标准方面有更多经验的人可以解释为什么会这样吗?在我看来,您肯定希望客户端至少在短时间内缓存此结果,因为在完全HATEOAS系统中,此调用很可能经常进行,以遍历rel链接以到达您正在查看的操作对

我也喜欢使用OPTIONS和简单GET从酷网址中检索操作的一些意见。

2 个答案:

答案 0 :(得分:0)

OPTION HTTP请求返回可在资源上执行的可用方法。 (对象方法)

我无法确定为什么你不能缓存响应,但它最有可能是一个预防措施。缓存对OPTION http方法没什么价值。

资源是“任何可以赋予名称的信息”,该名称是其URI。 OPTION请求的响应只是可以在此资源上请求的方法列表(例如,“GET PUT POST”可能是响应)。要实际获取存储的信息,您必须使用GET方法。

答案 1 :(得分:0)

它不可缓存,期间。遗憾。