[想法]为引用静态资源的url添加版本号,解决版本发布后的浏览器缓存问题

       在日常的工作中,我们经常会遇到页面文件(html,jsp等)中引用的js,css,图片等被修改后,而浏览器依然缓存着老版本的文件,客户一时半会看不到修改后的效果,同时也给生产环境的版本发布带来了一些问题。

 

       通常的解决方法就是在资源后跟上随机的参数或者版本号,日期等,来刷新浏览器的缓存使其到服务器上重新下载这些文件,如淘宝:http://a.tbcdn.cn/p/fp/2010c/js/fp-direct-promo-min.js?t=20111210.js

 

 

       但是在日常的研发过程中,不可能给这些url逐个加上参数,这样太笨拙了。于是我有如下想法:

跟SVN等版本工具配合,给这些资源的url加上该资源的修订号,如

<script type="text/javascript" src="/script/function.js?version=182"></script>

 

 

     这样做有两点好处:

  1. 在代码文件提交之前,给代码中引用的资源添加版本号,无需人工手动添加,方便规范;
  2. 避免一刀切的方式,把所有引用的资源都每次都生成随机参数,对于某些没有更新的资源,没有必要强制浏览器重新请求服务器。

    实现思路:

          解析指定文件(如html,jsp)中的相关标签(link,script等),找到引用的资源url,使用svnkit获取资源对应的修订号并添加到资源url中作为参数。

  

    注:在资源url上添加参数并不能解决所有浏览器的缓存问题,毕竟不同的浏览器的缓存策略不同,但通常还是 比较好的解决方案. 相应的工具正在开发中,敬请期待...

         

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值