2015-11-07 59 views
2

我已经搜索了很多,但仍然无法找到解决方案,我使用nodejsexpress这是默认设置etag为true,我尝试了所有我在网上找到的解决方案,它仍然是集,示例:删除Etag标题快递

res.set('etag', false); 
res.removeHeader('ETag'); 
app.disable('etag'); 
app.use(express.static(__dirname + '/public'), { etag: false }); 

而且还设置了,所以,有我丢失的东西在这里,因为我真的不是在节点有经验或表达。

我的问题很明显是,如何禁用这个头,因为我有一个页面有很多图像(A LOT),并且它们都是静态的,并且由于它发送请求来检查而导致很多阻塞有效性并防止浏览器依赖cache-control,这大大增加了页面加载时间。

感谢您的帮助

+0

我面临同样的问题。看起来,禁用etag不适用于静态中间件。 – aleung

+0

@aleung我回答了我的问题,请检查,我希望它可以帮助你 –

回答

0

这不是一个完整的答案,但我添加它以防万一任何人面临同样的问题。

原来我缺少的是浏览器在第一次加载(包括页面刷新)时强制执行缓存有效性检查,这就是为什么我一直看到etag头。

要正确测试标题是否被删除,您必须浏览到该网址并选中不直接转到该网址。

我希望这可以帮助别人,因为它花了我一段时间才找到它