我搜索了很多但仍无法找到解决方案,我使用express
和etag
默认设置res.set('etag', false);
res.removeHeader('ETag');
app.disable('etag');
app.use(express.static(__dirname + '/public'), { etag: false });
为true,我尝试了所有的解决方案我在网上发现它仍然设置,例如:
etag
仍然设置了,所以,我在这里缺少一些东西,因为我不是真的在节点或表达方面经验丰富。
我的问题显然是,如何禁用此标头,因为,我有一个包含大量图片的页面(A LOT)并且所有图片都是静态的,cache-control
因为发送而导致大量阻塞要求检查有效性并阻止浏览器依赖{{1}},这会大大增加页面加载时间。
感谢您的帮助
答案 0 :(得分:2)
请参阅:http://expressjs.com/4x/api.html#app.set
您可以使用以下方法在ExpressJS 4中执行:
app.set('etag', false);
将默认值设置为false
时,将其设置为true
会完全禁用etag标头。
可能的option values是:
答案 1 :(得分:0)
这不是一个完整的答案,但我是在添加它以防万一有人面临同样的问题。
事实证明我缺少的是浏览器在第一次加载(包括页面刷新)时强制执行缓存有效性检查,这就是为什么我一直看到etag标题。
要正确测试是否删除了标题,您必须浏览到该网址并检查不要直接删除它。
我希望这对某人有所帮助,因为我需要一段时间才能找到它