美文网首页HTTP协议原理+实践
3-4 缓存头Cache-Control的含义和使用

3-4 缓存头Cache-Control的含义和使用

作者: 伯纳乌的追风少年 | 来源:发表于2018-12-03 16:38 被阅读0次

总结

可缓存性:
public:http返回的内容经过的任何路径都可以对返回内容进行缓存
private:发起请求的浏览器才可以缓存
no-cache:可以在发起端进行缓存,要服务器验证才可以使用缓存


到期:
max-age=seconds 到期多少秒,再次请求
s-maxage=seconds 代替max-age 在代理服务器内生效(基本用不到)
max-stale=seconds 返回的资源有这个属性,即便缓存已经过期,在这个时间内还可以继续使用已经过期的缓存(基本用不到)


重新验证:
must-revalidate:缓存过期后,必须去原服务端发送这个请求,重新获取这部分数据,验证是否真的过期(可能会用到,不常见)
procy-revalidate:和上面的差不多,用在缓存服务器

其他:
no-store: 不能缓存,只能每次从服务器拿
no-transform:不压缩、转换返回内容
这些声明都没有强制效应



demo:

const http=require('http');
const fs=require('fs')
http.createServer(function(request,response){
  console.log('request come',request.url)
  
  if (request.url==='/') {
    const html=fs.readFileSync('test.html','utf8')
    response.writeHead(200,{
      'Content-Type':'text/html'
    })
    response.end(html)  
  };
  if (request.url==='/script.js') {
    response.writeHead(200,{
      'Content-Type':'text/javascript',
      'Cache-Control':'max-age=30'
    })
    response.end('console.log("script loaded!")')  
  };
}).listen(8888)
console.log('server listening on 8888')

相关文章

网友评论

    本文标题:3-4 缓存头Cache-Control的含义和使用

    本文链接:https://www.haomeiwen.com/subject/nuygqqtx.html