【发布时间】:2017-03-02 18:44:00
【问题描述】:
我目前正在构建一个 REST API。无论谁访问资源,我创建的许多资源都将始终相同。少数没有的会有Vary: Authorization 标头。
有两个例外:
- 如果您未通过身份验证,您将收到 401 响应。
- 对于某些您无权访问的资源,您可能会收到 403 响应。
我的问题是,在这种情况下是否仍然可以正确设置缓存。特别是,我想使用反向代理,如 nginx、varnish 或 haproxy 来卸载主要服务。
这个问题有没有优雅的解决方案?
【问题讨论】:
-
不同资源的 URI 是否与不匹配的资源匹配?例如您是否有一个 /user/joe 可以返回公共信息、仅对某些用户可见的信息和仅对 Joe 可见的信息?
-
@Nicholas 也许我不是很清楚,但对于大多数资源来说,情况不是,对于那些这样做的人,他们将拥有
Vary: Authorization。我只对不是那样的资源感兴趣。那些总是对 200 OK 有相同的响应,或者它们是 401/403。