使用 Firebase 托管 + Cloud 运行 Express 服务器时,在哪里设置 Cache-Control?

Where to set Cache-Control when using Firebase Hosting + Cloud Run express server?

当您使用 Firebase 托管 + 云 运行(快速服务器)时,Firebase 托管就像您的客户端和服务器之间的代理。

我应该在哪里设置我的 Cache-Control header?

两种方式都可以。但无论您在 firebase.json 上设置什么,都会覆盖您在 express 代码上设置的内容。

例如:Firebase 托管上的 default Cache-Controlprivate.

例如,如果您不在 firebase.json 中添加任何 Cache-Control,而在您的明确回复中添加 res.set("Cache-Control","no-cache");,则您的回复将为 no-cache,如您所愿。

但是如果您同时向 firebase.json 添加这样的内容,它将覆盖您的 res.set() 调用:

{
  "source": "/**",
  "headers": [{
    "key": "Cache-Control",
    "value": "public"           // OR EVEN IF YOU EXPLICITLY SET "private", WHICH IS THE DEFAULT
  }]                            // IT WILL OVERWRITE WHAT YOU SET ON YOUR SERVER WITH res.set() 
}