美文网首页前端面试题目及答案整理
很多静态文件会不断修改,如何保证浏览器总是加载到修改后的版本?

很多静态文件会不断修改,如何保证浏览器总是加载到修改后的版本?

作者: Xindot | 来源:发表于2018-03-19 14:14 被阅读13次

一种方法是使用HTTP头消息,指定浏览器不得缓存(或者指定一个较短的缓存时间)。
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
但是,这样一来,浏览器每次访问都要下载相关文件,会增加宽带消耗,也不利于性能。
更常见的解决方法是,为每个静态文件的URL附加一个版本号或哈希作为查询字符串。文件每次更新,就更新一个版本号。
<link rel="stylesheet" href="a.css?v=1.0.1"/>
但是这种方法对于多个静态文件相互依赖的页面会产生问题。
因为HTML页面和静态资源文件往往不会同步部署上线。一旦新版的静态资源文件先上线,同时此时又有用户去加载老版本的HTML页面,就可能导致问题。
因此,更好的解决方法是。每当静态资源文件有内容变化,就改用一个全新的文件名。
<link rel="stylesheet" href="a.v1.0.1.css"/>
这样就会使得HTML页面和静态资源的版本总是匹配的,再配上灰度发布,就能实现平滑发布。

相关文章

  • 很多静态文件会不断修改,如何保证浏览器总是加载到修改后的版本?

    一种方法是使用HTTP头消息,指定浏览器不得缓存(或者指定一个较短的缓存时间)。Cache-Control: no...

  • 8.12我的成长

    一、工作 1.上午修改了项目白页问题。 2.了解了浏览器缓存机制,学习到每次对静态文件做修改后,如何让浏览器从服务...

  • nginx修改vue spa index缓存

    每次发布静态资源,index.html浏览器是默认缓存的,这样会有问题 修改前 修改后

  • 静态文件缓存问题

    问题描述 在日常的项目中,在浏览器加载静态文件,会遇到浏览器缓存的问题。 浏览器会默认使用缓存,当我们修改了静态文...

  • Git 常用命令总结

    安装 创建仓库 回退版本 提交修改后的文件 对其修改后的文件进行提交: 查看历史记录 我们看到有三次提交,最近的一...

  • 响应静态化放到Nginx上

    目前这部分还未投产,也只做了nginx读取静态化文件部分,元数据修改后变更静态化文件还未实现。性能和之前相比,需要...

  • cocoapod远程私有库升级迭代

    将修改后的文件放入Classes文件夹内,cd到Example文件目录下,并安装 修改spec文件将版本号更新 c...

  • 项目修改重启无效问题

    java项目修改后重启,用谷歌浏览器进行调试,发现浏览器代码还是处于未修改前的状态。而且效果也是处于老版本。其原因...

  • [Git]-002 Git版本回退

    1.问题:一个文件被多次修改后提交,那么如何回退到任意版本呢? 2.实际操作步骤:提交demo.txt文件,又做了...

  • bower

    bower.json文件中的jquery版本修改后,出现找不到的问题。在layout.jade,手动修改下jque...

网友评论

    本文标题:很多静态文件会不断修改,如何保证浏览器总是加载到修改后的版本?

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