读书人

[想法]为引用静态资源的url添加版本号

发布时间: 2012-12-19 14:13:14 作者: rapoo

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

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

?

?????? 通常的解决方法就是在资源后跟上随机的参数或者版本号,日期等,来刷新浏览器的缓存使其到服务器上重新下载这些文件,如淘宝:

?

?

???? 这样做有两点好处:

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

??? 实现思路:

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

??

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

?????????

?

1 楼 aNd1coder 2011-11-19 楼主,你的工具进展如何呢?最近也一直在寻求这样一个工具,希望楼主分享下实现过程,谢谢! 2 楼 aNd1coder 2011-11-19 and1coder#gmail.com 如果可以的话,邮件交流下:D

读书人网 >编程

热点推荐