节点,针对特定文件类型的不同缓存规则
Node, different cache rules for a particular file type
我正在为我的应用禁用缓存:
app.use(function noCache(req, res, next) {
res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
res.header('Pragma', 'no-cache');
res.header('Expires', 0);
next();
});
在使用 IE 时通过 HTTPS 使用它时出现问题:https://connect.microsoft.com/IE/feedbackdetail/view/992569/font-face-not-working-with-internet-explorer-and-http-header-pragma-no-cache
如何更改以上代码使其不适用于字体类型文件?我想这会解决我的问题。
谢谢
您可以检查 req.path
与网络字体的扩展名(ttf、woff、eot 等),并在这种情况下跳过发回那些 headers:
const WEBFONT_EXTENSIONS = /\.(?:eot|ttf|woff|svg)$/i;
app.use(function noCache(req, res, next) {
if (! WEBFONT_EXTENSIONS.test(req.path)) {
res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
res.header('Pragma', 'no-cache');
res.header('Expires', 0);
}
next();
});
我正在为我的应用禁用缓存:
app.use(function noCache(req, res, next) {
res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
res.header('Pragma', 'no-cache');
res.header('Expires', 0);
next();
});
在使用 IE 时通过 HTTPS 使用它时出现问题:https://connect.microsoft.com/IE/feedbackdetail/view/992569/font-face-not-working-with-internet-explorer-and-http-header-pragma-no-cache
如何更改以上代码使其不适用于字体类型文件?我想这会解决我的问题。
谢谢
您可以检查 req.path
与网络字体的扩展名(ttf、woff、eot 等),并在这种情况下跳过发回那些 headers:
const WEBFONT_EXTENSIONS = /\.(?:eot|ttf|woff|svg)$/i;
app.use(function noCache(req, res, next) {
if (! WEBFONT_EXTENSIONS.test(req.path)) {
res.header('Cache-Control', 'no-cache, no-store, must-revalidate');
res.header('Pragma', 'no-cache');
res.header('Expires', 0);
}
next();
});