4

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

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

9.2 选项

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

对此方法的响应不可缓存。

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

我也喜欢关于使用 OPTIONS 与简单的 GET 从一个很酷的 URL 检索操作的一些意见。

4

2 回答 2

0

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

我不能肯定地说为什么你不能缓存响应,但这很可能是一种预防措施。缓存对于 OPTION http 方法几乎没有价值。

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

于 2012-10-25T19:27:01.947 回答
-1

它不可缓存,期间。对不起。

于 2012-10-26T05:19:26.577 回答