Node.js 缓存控制在不同浏览器中的工作方式是否不同?
提供一堆图像 我在HTTP我的响应头中设置了Node.js 缓存控制在不同浏览器中的工作方式是否不同?,node.js,http,caching,cache-control,Node.js,Http,Caching,Cache Control,提供一堆图像 我在HTTP我的响应头中设置了缓存控制:最大年龄:3000并指定ETag 当客户机请求相同的文件时,我会用304响应,因为它们只是图像文件,并且将是相同的 也许我误解了缓存,但是: 客户机不应该只在测试后检查新文件吗 最大年龄段是否已完成 当客户端从服务器接收到304时,是否应该缓存图像并从缓存中显示它 在Firefox中,两者都不起作用。在Chome中,它在最大年龄之前请求文件,但当它收到304响应时,它显示缓存中的图像 服务器是一个节点服务器。我可以分享相关的代码,如果你认为它
缓存控制:最大年龄:3000
并指定ETag
当客户机请求相同的文件时,我会用304
响应,因为它们只是图像文件,并且将是相同的
也许我误解了缓存,但是:
304
时,是否应该缓存图像并从缓存中显示它304
响应时,它显示缓存中的图像
服务器是一个节点服务器。我可以分享相关的代码,如果你认为它可以帮助回答更好。尽管如此,在这一点上,我正在寻找可能出错的指针/提示
我做错了什么,但似乎不知道是什么。你的语法错了;如果您使用的是HTTPS,并且使用的是旧版本的Firefox,那么问题可能是由于响应头中缺少缓存控制:public造成的。然而,这在几年前就已经得到了解决: 缓存控制:请求头中没有缓存表示Firefox中强制刷新(例如,在Windows上使用Ctrl+F5)。您是在强制重新加载页面,还是只是在新的Firefox实例中重新访问页面
您可以通过转到“about:cache”或使用类似的工具来检查Firefox缓存中图像的状态。Ty。更正了。但它仍然不起作用。我是否需要在请求资源时做些什么?尝试再次获取资源的请求头具有
缓存控制:no cache
,这是我做错的吗?事实上,我正在强制重新加载页面。不幸的是,我需要在“一轮”活动完成后进行重置,如果用户想要进行另一轮活动。虽然我可以使用javascript返回到原始状态,但是location.reload(true)代码>对我来说更容易回到原始状态进行另一轮活动。这就是让firefox困惑的原因吗?铬不会受到强制重新加载的影响。