清缓存的目的是什么,如何实现?

本贴最后更新于 527 天前,其中的信息可能已经时移俗易

2018-12-15

缓存及优点

浏览器的缓存可以临时存储一些文件,因此当页面切换或者再次加载相同页面时就不需要去重新下载这些文件。服务端可以设置头部告诉浏览器在一定时间内存储这些文件。这样不仅可以大幅度加快网站的速度还可以节省你的带宽。

缓存带来的问题

然而当开发者对站点进行修改时就可能会带来一些问题:某些用户可能仍在访问那些修改之前的文件。这样就会导致那些用户使用以前的功能或者访问一个坏了的站点(当服务端渲染的页面元素被删除、移动或重命名后,那些被缓存的 CSS 和 JavaScript 文件对这些元素的操作就会出现错误)

解决方案

解决缓存的关键就是强制让浏览器下载最新的文件。这只需要给那些旧的文件一个新的名字,或者修改服务端的头部。

比较简单常用的技术就是在文件结尾添加一个查询字符串,使其强制让浏览器重新下载新的文件。如下所示:

src="js/script.js"
src="js/script.js?v=2"

这样一来,在不需要修改文件名的前提下,浏览器就会将其视为不同的文件。

扩展

返回总目录

每天 30 秒

  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    88 引用 • 269 回帖 • 91 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    425 引用 • 354 回帖 • 6 关注
  • 面试

    面试造航母,上班拧螺丝。多面试,少加班。

    271 引用 • 1349 回帖 • 218 关注
回帖
请输入回帖内容...