【问题标题】:How to ignore query string on firebase hosting CDN?如何忽略 Firebase 托管 CDN 上的查询字符串?
【发布时间】:2021-02-10 10:23:09
【问题描述】:

您好,我的 Firebase 托管中有一个 URL,我们称之为 /success.html

用例,用户向我的 http 云函数实例发出 http 请求,成功后我会将请求重定向到带有查询字符串的 /success.html。这是示例:success.html/id=?foo

问题是我想通过 firebase CDN 为 /success.html 提供服务,但 firebase 托管 CDN 将每个查询字符串视为唯一的缓存键。所以success.html/id=?foosuccess.html/id=?bar 不会命中相同的缓存键。

我可以从缓存键中省略查询字符串吗?所以success.html/id=?any-id-here 将返回从/success.html 缓存的资源

谢谢

【问题讨论】:

  • 为什么您希望具有不同查询的请求访问所有相同的缓存?如果参数发生变化,那么它们应该到达后端。此外,您的查询字符串格式不正确,应该是“success.html?id=foo”而不是“success.html/id=?foo”
  • 这个想法是,我不想在我的云函数上安装任何模板引擎来最小化依赖,所以我只是将它重定向到带有查询字符串的静态 HTML 页面。我通过将请求重定向到 URL 上带有查询字符串的静态页面来发送服务器生成的 ID,然后在客户端我解析查询字符串并将其显示在屏幕上,例如“您的 ID 是:xxxx”。感谢您指出查询字符串错误。

标签: firebase google-cloud-functions firebase-hosting


【解决方案1】:

根据您的描述,您实际上想要使用模板引擎,而不是像 CDN 采用 query string in consideration for caching 那样重定向到静态文件。

【讨论】:

  • 我“解决”了这个问题,我在 Netlify 上托管了我的静态页面,他们不缓存查询字符串。与 CDN 相比,模板引擎会扩大我的函数大小并变慢。不过感谢您的回复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
  • 2022-10-22
  • 1970-01-01
  • 1970-01-01
  • 2018-06-02
  • 1970-01-01
  • 2013-04-17
相关资源
最近更新 更多