firebase.json文件中的Cache-Control标头不起作用

时间:2016-06-30 05:39:34

标签: json caching firebase cache-control firebase-hosting

我的firebase.json文件中的Cache-Control标头设置似乎不起作用。我已将所有文件的max-age值设置为31536000(1年)。我的firebase.json文件是 -

{
    "hosting": {
        "public": "public"
    },
    "ignore": [
        "firebase.json",
        "**/.*",
        "**/node_modules/**"
    ],
    "headers": [{
        "source": "**",
        "headers": [{
            "key": "Cache-Control",
            "value": "max-age=31536000"
        }]
    }]
}

该文件似乎遵守firebase documentation.

但是,所有文件的max-age值仍设置为浏览器默认值3600(1小时)。

Cache-Control is stil an hour

2 个答案:

答案 0 :(得分:12)

根据full page配置,您必须先设置托管密钥

这必须起作用:

{
  "hosting": {
    "public": "app",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "headers": [{
      "source" : "**",
      "headers" : [{
        "key" : "Cache-Control",
        "value" : "max-age=31536000"
      }]
    }]
  }
}

答案 1 :(得分:0)

对于那些想要阻止缓存的人,您应该将 no-cachemax-age=0 一起使用。

no-store 指令将阻止缓存新资源,但不会阻止缓存响应因先前请求而缓存的非陈旧资源。设置 max-age=0 也会强制缓存重新验证(清除缓存)。

"headers": [{
  "source" : "**",
  "headers" : [{
    "key" : "Cache-Control",
    "value" : "no-store, max-age=0"
  }]
}]