我希望浏览器缓存我的资产。所以我用:
var oneDay = 86400000;
app.use(express.static('public', { maxAge: oneDay }));
所以作为回应我看到了:
cache-control: public, max-age=86400000
但是当浏览器请求资产时,它仍然向服务器发出请求,并且通常会获得304未修改的响应,然后才从缓存中获取版本。
作为回应,我也看到了'Etag'和'Last-Modified'标题,也许他们是出于这种行为? (为什么我无法读取Last-Modified标头来检查它。
如果我理解正确,我第一次下载资源时会设置max-age作为响应,然后浏览器,而句点(由max-age设置)应该从缓存中获取,而不是向服务器发出任何请求。
我做错了什么?
我想知道人们如何使用express.js在生产中提供静态资产和索引文件?