更新最大寿命的网站

时间:2019-03-06 11:53:39

标签: http nginx http-headers cache-control

我有一个SPA网站(VueJS),我每天开始更新。当我不熟悉整个过程时,我从多个来源借来了我的nginx配置的零碎片段,最后用Cache-Control: max-age=31536000为网站中的所有文件提供服务。

让用户抱怨他们找不到我最近的更改后,我倾向于认为这可能是由于浏览器将所有内容都缓存到2037 ::.。根据我的建议,这一假设得到了支持。 CTRL + F5 的问题已解决。

此后,我为网站更新了不同的缓存规则,但是浏览器似乎并没有在我的服务器上获取这些更新的规则。

map $sent_http_content_type $expires {
        default                         off;
        text/html                       off;
        text/css                        off;
        application/javascript          off;
        application/x-javascript        off;
}

...
server {
    ...
    location / {
        add_header Cache-Control 'no-cache, must-revalidate, proxy-revalidate, max-age=0';
        ...
    }
}

有什么办法可以撤销此操作?我必须打包并移到另一个域吗?

1 个答案:

答案 0 :(得分:0)

如果您为所有页面设置了更远的Cache-Control生存期,并且拥有可靠的用户群在该网站生效时访问了您的网站...那么简短的答案是:是的。

无法撤消对浏览器缓存的使用,因为它不会在当前缓存的资产(在这种情况下,您的页面也不会过期)之前不会检查新的缓存策略。

但是,您可以考虑以下事实:人们倾向于更改浏览器,运行OS优化程序(清除缓存)或为您认识的用户开展电子邮件广告活动,以指示他们清除浏览器缓存。

从任何角度看,这都不是一个好情况。