为什么Cache-Control不生效呢
我想通过node.js代码来测试http的cache-control报头的生效情况,但是不太正常,首先看看代码如下:
let http = require('http');
let server = http.createServer(function(request, response){
let url = request.url,
content = null;
console.log('收到http协议请求,请求地址是:' + url);
if(url == '/' || url == '/index.html'){
content = '<link rel="stylesheet" href="/register.css">page content';
response.setHeader('Content-type', 'text/html');
}else if(url == '/register.css'){
content = 'body{color:red;}';
response.setHeader('Cache-Control', 'max-age=43200');
response.setHeader('Content-type', 'text/css');
}
if(content === null){
console.log(url + ' 该地址无效');
response.writeHead(404, {
'Content-type' : 'text/html'
});
response.end('404啊亲!');
}else{
response.end(content);
}
});
server.listen(8282, 'localhost');
console.log('server start at http://localhost:8282');
里面访问首页后,它请求的 /register.css 总是200状态码,不过在第2次请求后服务器确实是没有收到这个css的请求了。
可是换成nginx进行了以下配置以后,第2次请求都是302状态码的
location ~ .*\.(js|css)?$
{
expires 12h;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论