kangle缓存问题 返回304和源站验证是否过期
想问下小樱,我的需求是这样的:我想让kangle和浏览器都缓存,但每次都向上游发个验证请求看看缓存过期没然后我现在的操作是,在kangle的回应控制中添加
cache-control: max-age=0,must-revalidate
但好像kangle还是会缓存,然后浏览器验证时返回304,但其实上游已经变了,是我哪里理解有误嘛
我现在在请求控制里又加了个no_cache的flag,不知道有没有效果,但那样的话kangle应该就不会缓存了? 回应控制添加Cache-Control响应头是告知浏览器不要做本地缓存,例如值为no-cache,此时浏览器就不会缓存
kangle默认就是每次请求都去源站验证缓存是否有更新的,返回304代表无更新,有内容变化则使用200返回,如果缓存设置勾选了"静态化缓存",那么kangle缓存后就不会和源站进行验证
kangle缓存使用last-modified和etag与源站验证,需要检查源站是否输出了对应头部
https://bbs.itzmx.com/thread-19529-1-1.html
小樱 发表于 2025/8/23 18:57
回应控制添加Cache-Control响应头是告知浏览器不要做本地缓存,例如值为no-cache,此时浏览器就不会缓存
...
可我看kangle源码,cache-control应该是影响kangle缓存行为的,它会根据cache control缓存。比如上游cache control返回no-cache它就不走自己缓存了
源站是输出etag的,我测过,但kangle还是给了304 mbs654321 发表于 2025/8/23 19:39
可我看kangle源码,cache-control应该是影响kangle缓存行为的,它会根据cache control缓存。比如上游cach ...
源码上我看了没有问题的,测试也无法复现,F5一下或者无痕浏览打开后就刷新了缓存
你看错了一段代码,你说的那段代码是在php上输出static标记来通知kangle实现强制缓存
https://bbs.itzmx.com/thread-20335-1-1.html
你先确认下是否是浏览器缓存,还有是否更新文件观察源站last-modified或etag输出值有变化
如果说你删除了文件并没有更新文件,并且此时kangle有开启always_online选项,检测到源站输出404时会进入永久在线常驻缓存
小樱 发表于 2025/8/23 22:27
源码上我看了没有问题的,测试也无法复现,F5一下或者无痕浏览打开后就刷新了缓存
你看错了一段代码, ...
行,我再观察下吧
页:
[1]