设为首页收藏本站

ZMX - IT技术交流论坛 - 无限Perfect,追求梦想 - itzmx.com

 找回密码
 注册论坛

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

用百度帐号登录

只需两步,快速登录

搜索
查看: 1972|回复: 3

Kangle缓存,响应头Expires一直显示为首次回源时间

[复制链接]

签到天数: 66 天

[LV.6]常住居民II

发表于 2020/10/8 12:33 | 显示全部楼层 |阅读模式
天涯海角搜一下: 百度 谷歌 360 搜狗 有道 雅虎 必应 即刻
首次访问:200
Date: Sun, 04 Oct 2020 01:31:01 GMT
Expires: Sun, 04 Oct 2020 13:31:01 GMT

过几秒后刷新第二次访问:304
Date: Thu, 08 Oct 2020 04:18:00 GMT
Expires: Sun, 04 Oct 2020 13:31:01 GMT

第三次访问:200
Date: Thu, 08 Oct 2020 04:18:00 GMT
Expires: Sun, 04 Oct 2020 13:31:01 GMT

这样相当于新用户访问我的jscss得请求两次,一次获取文件,第二次获取响应头,Expires的数值一直没有变化,看了你们的站点Date和Expires时间都是最新的,这应该跟我设置的静态化没关系吧
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复

使用道具 举报

签到天数: 66 天

[LV.6]常住居民II

 楼主| 发表于 2020/10/8 15:33 | 显示全部楼层 |Google Chrome 85.0.4183.121|Windows 7
        后续:安装了带ep的一键脚本,部署了强制缓存,跟我的纯kangle控制回应对比,发现是多扣选了静态化,现已取消,问题解决。
总结:不是动态文件尽量不要扣选静态化,本来就是css扣选了的话,Expires的时间就被锁定,从而请求到的是缓存文件Expires和date时间已经过期很久,随便刷新都得向CDN验证文件,一个几十B的响应头,刷新后就不会了 date是最新时间+age过期后才会再次效验,而会Expires一直处于报废状态。
[发帖际遇]: 一个袋子砸在了 天子 头上,天子 赚了 1 樱币. 幸运榜 / 衰神榜
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

签到天数: 66 天

[LV.6]常住居民II

 楼主| 发表于 2020/10/8 15:56 | 显示全部楼层 |Google Chrome 85.0.4183.121|Windows 7
我想css一直只请求CDN,不让它验证源站是否有变化,cache_control已设置max_age:31536000,是不是还得把flag:always_online扣选了
欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

 成长值: 243

签到天数: 4706 天

[LV.Master]伴坛终老

发表于 2020/10/9 18:54 | 显示全部楼层 |Google Chrome 86.0.4240.75|Windows 10
flag:always_online永久在线仅在源站故障无法访问的情况下生效,例如无法回源,源站文件丢失404,则会通过永久在线继续输出文件

你一楼的问题可能也是浏览器缓存,因为你使用了Expires,你测试的时候把禁用缓存勾选打开试一下。
当然,强制缓存会如你所说的,强制缓存在CDN节点中,不进行回源验证文件是否更新,一般用于动态文件强制缓存,静态不推荐使用强制缓存
https://bbs.itzmx.com/thread-95091-1-1.html

kangle默认用的last-modified,而不是你说的Expires,Expires可能是你源站输出的。
kangle使用效果更好地if-modified-since验证方式,网站替换文件,使用kangle的站点可以实时更新修改内容(未使用强制缓存情况)
如果你使用Expires,那么在Expires的有效期结束之前,浏览器则会强制缓存在本地,不会进行文件的更新操作,会导致更新文件客户端还是老文件的情况
可参考:https://bbs.itzmx.com/thread-19529-1-1.html

不过看了你的需求是,想要强制缓存在kangle CDN中,永久不进行回源验证文件是否更新,那你可以设置如下
1.png

cache_control模块,勾选静态化,设置31536000
此时已经可以缓存在cdn中,不在回源验证文件更新情况

如果你还想同时通知浏览器永久缓存,可以额外设置如下
增加一个add_header回应头部,通知浏览器中永久缓存
值为:Cache-Control  max-age=31536000

欢迎光临IT技术交流论坛:http://bbs.itzmx.com/
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册论坛 新浪微博账号登陆用百度帐号登录

本版积分规则

手机版|Archiver|Mail me|网站地图|IT技术交流论坛 ( 闽ICP备13013206号-7 )

GMT+8, 2024/11/22 18:13 , Processed in 0.148946 second(s), 24 queries , MemCache On.

Powered by itzmx! X3.4

© 2011- sakura

快速回复 返回顶部 返回列表