设置来自 firebase 函数的 Vary head

setting the Vary head from firebase function

我无法在 firebase 函数中成功设置 Vary header。

我的代码:

res.set('Vary', 'Accept-Encoding');

服务器响应:

vary: x-fh-requested-host, accept-encoding, cookie, authorization

我有几个函数 return 我想要完全基于 'Accept-Encoding' header 缓存的数据。但无论我做什么,firebase 似乎都会用自己的 header 覆盖它。至关重要的是,它正在添加 cookie、授权,这会破坏我的缓存。

我的函数由使用 firebase 托管重写的 url 访问。根据这些docs应该是可以的

Firebase 托管会自动将这些 header 添加到 Vary 以防止意外 cross-user 缓存泄漏。这仍然可以很好地与缓存一起工作,因为 Firebase Hosting 还会从 Cookie header 中删除所有 cookie,除了一个名为 __session.

如果您的内容不会因 Authorization header 而异,我建议您不要在对函数的请求中包含 header(因为您的函数应该无论如何都不要使用它,除非它是 Vary).

的一部分