【发布时间】:2016-09-20 18:41:05
【问题描述】:
通常,我会像这样通过 http2 请求提供文件:
if (req.url === '/main.html') {
let files = {
'main.css': {
type: 'text/css'
},
'main.js': {
type: 'application/javascript'
}
};
for (let name in files) {
let push = res.push('/' + name, {
response: {
'Content-Type': files[name].type,
'Cache-Control': 'public, max-age=31556926'
}
});
push.on('error', er => console.log(er));
push.end(fs.readFileSync('/home/src/' + name));
}
res.writeHead(200, {
'Content-Type': 'text/html'
});
res.end(`
<html>
<head>
<link rel="stylesheet" href="/main.css">
<script src="/main.js"></script>
</head>
<body></body>
</html>
`);
}
我在更新这两个文件main.css 和main.js 时遇到了问题,因为它们的新内容可用。
它们会通过发送另一个/main.html 请求来更新吗?如果没有,我该如何更新它们?
【问题讨论】:
标签: node.js browser-cache http2