Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 缓存控制在不同浏览器中的工作方式是否不同?_Node.js_Http_Caching_Cache Control - Fatal编程技术网

Node.js 缓存控制在不同浏览器中的工作方式是否不同?

Node.js 缓存控制在不同浏览器中的工作方式是否不同?,node.js,http,caching,cache-control,Node.js,Http,Caching,Cache Control,提供一堆图像 我在HTTP我的响应头中设置了缓存控制:最大年龄:3000并指定ETag 当客户机请求相同的文件时,我会用304响应,因为它们只是图像文件,并且将是相同的 也许我误解了缓存,但是: 客户机不应该只在测试后检查新文件吗 最大年龄段是否已完成 当客户端从服务器接收到304时,是否应该缓存图像并从缓存中显示它 在Firefox中,两者都不起作用。在Chome中,它在最大年龄之前请求文件,但当它收到304响应时,它显示缓存中的图像 服务器是一个节点服务器。我可以分享相关的代码,如果你认为它

提供一堆图像

我在HTTP我的响应头中设置了
缓存控制:最大年龄:3000
并指定
ETag

当客户机请求相同的文件时,我会用
304
响应,因为它们只是图像文件,并且将是相同的

也许我误解了缓存,但是:

  • 客户机不应该只在测试后检查新文件吗 最大年龄段是否已完成
  • 当客户端从服务器接收到
    304
    时,是否应该缓存图像并从缓存中显示它
  • 在Firefox中,两者都不起作用。在Chome中,它在最大年龄之前请求文件,但当它收到
    304
    响应时,它显示缓存中的图像

    服务器是一个节点服务器。我可以分享相关的代码,如果你认为它可以帮助回答更好。尽管如此,在这一点上,我正在寻找可能出错的指针/提示


    我做错了什么,但似乎不知道是什么。

    你的语法错了;如果您使用的是HTTPS,并且使用的是旧版本的Firefox,那么问题可能是由于响应头中缺少缓存控制:public造成的。然而,这在几年前就已经得到了解决:

    缓存控制:请求头中没有缓存表示Firefox中强制刷新(例如,在Windows上使用Ctrl+F5)。您是在强制重新加载页面,还是只是在新的Firefox实例中重新访问页面


    您可以通过转到“about:cache”或使用类似的工具来检查Firefox缓存中图像的状态。

    Ty。更正了。但它仍然不起作用。我是否需要在请求资源时做些什么?尝试再次获取资源的请求头具有
    缓存控制:no cache
    ,这是我做错的吗?事实上,我正在强制重新加载页面。不幸的是,我需要在“一轮”活动完成后进行重置,如果用户想要进行另一轮活动。虽然我可以使用javascript返回到原始状态,但是
    location.reload(true)对我来说更容易回到原始状态进行另一轮活动。这就是让firefox困惑的原因吗?铬不会受到强制重新加载的影响。