meta标签中的缓存

只知道服务器中可以设置缓存,下次请求的时候可以不访问服务器,直接获取上次缓存的数据。
那么在页面head中设置的缓存,存的是什么东西呢?

阅读 4.3k
1 个回答
HTML 中的 mate 属性可以设置缓存,并且和服务器的缓存很相似,当html设置缓存之后,结合配置,浏览器获取的资源都会从本地缓存获取,不再去服务器获取,需要注意的一点不是html缓存,而是浏览器缓存

mate 缓存的设置一般依赖两个mate属性

  1. cache-control | |no-cache||no-store||max-age
    如上 cache-control 属性有以上三个参数

    • no-cache
      不缓存,但是不同浏览器存在一定的差异性,比如fixhot不支持 no-cache 仅支持 no-store
    • no-store
      与no-cache比较来说,一个是不用缓存,一个是不存储缓存;按理来说这个设置更加粗暴直接禁用缓存
    • max-age
      如Cache-control: max-age=3;表示此次请求成功后3秒之内发送同样请求不会去服务器重新请求,而是使用本地缓存;同样我们如果设置max-age=0表示立即抛弃缓存直接发送请求到服务器
  2. Expires
    设置 可以用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式;如需禁用缓存则直接设置 0/-1

禁用缓存配置
 <meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
 <meta http-equiv="Pragma" content="no-cache" />
 <meta http-equiv="Expires" content="0" />

最后: 不同浏览器缓存策略存在一定差异,比如上面的no-cache属性,以及HTML5是否存在差异,还没认真对比过,有兴趣可以研究下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题