吴彦祖们,问个NGINX关于Expires缓存和purge清除问题,冲突…..

VPS讨论 admin 3年前 (2020-08-12) 116次浏览 0个评论

今天闲得无聊,在反代的nginx前端上给location中加上了句

Expires 30d;
(类型有JPG\GIF\HTML\CSS等)
意思是缓存30天,也就是30天内不再从服务器拉取,减轻服务器负担,算是优化吧。

一天过去了,我刚刚突然想到,我有个重要的HTML是经常更新的。那现在怎么办呢?是不是今天我改了之后,来过的访客,访问过那个HMTL的人,30天内就收不到更新了呢?除了改HTML文件名以外没其他办法了吗?(问题在于,这个HTML也是通过CSS调用加载的,可是CSS也被缓存30D了啊)

如果我用purge命令清理掉这个html的反代缓存是不是也不行呢?(因为我觉得修改增加Expires 30d;之后浏览过的访客的客户端,30天内不会再去访问我的HTML了吧,感觉和我是否服务器上purge过没太大关系了啊,没救了吗?)

吴彦祖们,这些浏览过Expires 30d;的访客30天内是就没救了吗?

网友回复:

字太多了,我不喜欢看,楼下解答

网友回复:

location = 某html位置
写掉过期

上述配置优先级高于 location /吴彦祖们,问个NGINX关于Expires缓存和purge清除问题,冲突.....

网友回复:

iks 发表于 2020-8-13 01:00
location = 某html位置
写掉过期

我已经把
Expires 30d;去掉了,加#了。可我想救回今天30天的访客啊。他们的机制是不会再去更新了吗?
就算我把
location = 某html位置
写掉过期
这些访客也无法得知吧?除非30天后这样吧?

网友回复:

squalll 发表于 2020-8-13 01:03
我已经把
Expires 30d;去掉了,加#了。可我想救回今天30天的访客啊。他们的机制是不会再去更新了吗?
就 …

浏览器会查询服务器是否有新版本,如果服务器没有改变,就不拉取新数据,如果服务器有新版本,本地保存的版本就会过期
你设置的30天过期,无论服务器是否有新版本都强制拉取新数据

网友回复:

By小酷 发表于 2020-8-13 01:06
浏览器会查询服务器是否有新版本,如果服务器没有改变,就不拉取新数据,如果服务器有新版本,本地保存的 …

吓死我了。谢谢大佬
我麻烦你还有2个问题。
1.您是说,我的访客问题不是问题,只要我更新就行了,对吧?
2.按你说的,Expires 30d;意思是指,没有更新的情况下,就不会去拉取数据,但是有更新了,Expires 30d;就失效对吗?。那我如果加回去Expires 30d;也是可以的了?(因为我服务器一但更新,他们也就更新了)。那我加回去会更好吧?(我的原理是,能优化,那很好,如果不能优化30D,宁愿不优化也不能让访客不更新)


免费部落 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:吴彦祖们,问个NGINX关于Expires缓存和purge清除问题,冲突…..
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址