浏览器静态资源的版本控制

1.更新资源,我们总是需要改变资源的url. 这本身没有什么问题

<script src=http://www.a.com/a.js?v=20121212></script>

其中 20121212 部分我们是作为版本号来存在的.事件戳

还有一种做法,并不是把日期作为版本号,比如拿文件的内容,用某种hash算法,获得一个字串,作为版本号.这样可以防止竞争对手枚举版本号方式变相攻击,导致缓存代理们,缓存错误的内容。

2.但假如我们没有办法修改url的资源就变的束手无策了.  这样的场景经常发生在第三方脚本身上. 在得知 xxx.js 已经有了新版本.需要客户端重新去服务器获取新版本时.立刻实现更新. 这个xxx.js.而且url并不发生变化.

解决方案:

(1). 减少脚本的过期时间. 比如10分钟的过期时间(baidu联盟的脚本文件的过期时间是两个小时)

(2). 使用一个永不缓存的小加载器脚本.加载后面的主脚本. 通过修改加载器脚本中 主脚本的url来实现更新.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值