`
shaomeng95
  • 浏览: 219252 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

[想法]为引用静态资源的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上添加参数并不能解决所有浏览器的缓存问题,毕竟不同的浏览器的缓存策略不同,但通常还是 比较好的解决方案. 相应的工具正在开发中,敬请期待...

         

 

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

相关推荐

    knfileimporter

    如何更好的管理静态文件的引入已成为首要的解决问题需求页面中各模块根据自己的需要引入静态文件各模块中重复引入的静态文件应该可以去重可以为静态文件配置对应的版本号(为了能够避免浏览器缓存问题导致的更新不...

    CC威视 v1.5 RC1 Build 2359.rar

    继威视2009发布后,CC威视开发团队在总结以往的开发经验吸取站长的建议反馈后,经过数月的开发,一个多月的测试,CC威视1.5 RC1版本正式提供下载使用。 ● 简化安装环境,不再需要pdo等模块支持, ● 全新的内核...

    骑士PHP人才系统 4.2.66.zip

    优化 分站模板下,资源文件引用路径问题;优化 企业会员中心增值服务二维码样式;优化 后台添加企业会员提示座机;优化 后台企业不存在和个人简历不存在,企业风采和个人附件作品无法显示;优化 新闻列表标题显示...

    嘉缘人才网站系统 v3.2 GBK

    11、优化伪静态URL路径及命名规则 12、优化系统核心构架及缓存机制,执行效率更高 13、优化四大会员中心各项功能 14、修复部分页面参数过滤不严导致的漏洞问题 15、修复Logo上传页面存在的漏洞 16、修复注册页面存在...

    开源电子商务平台iWebShop

    分两部分,带测试数据和不带测试数据两个版本,更新至2011-12-6 新增功能: 1、重新设计了后台多用户权限管理功能。 2、在商品展示页增加商品积分,经验等信息的展示。 3、增加贝宝国际支付接口。 4、增加了快递...

    火狼首页N格插件 For Discuz!7.1/7.2 GBK UTF8 BIG5.rar

    7. [修正]论坛启用URL伪静态,列表中没完全解析的BUG DuceXHome NC 2.6.5 11月3日更新 1. [更新]改进天气预报插件显示方式,第三方调用,可能存在地域差异。 2. [修正]主题预览出现JS错误。 3. [增加]允许自定义...

    MolyX Board v2.1 个人用户正式版

    更新记录: 2004-11-29 - 修正了自动分析URL地址的BUG - 优化了thread, post 表结构 - 更正了版本号组ID信息 - 修正了公告显示错误(无法显示未标明起始日期的公告) - 修改了...

    IIS6.0 IIS,互联网信息服务

    一个IP地址对应多个Web站点 当按上步的方法建立好所有的Web站点后,对于做虚拟主机,可以通过给各Web站点设不同的端口号来实现,比如给一个Web站点设为80,一个设为81,一个设为82……,则对于端口号是80的Web站点,...

    【NGOOS极益开源公益平台 v2.2】公益组织CMS平台+支持在线捐赠+整合Bootstrap响应式设计

    NGOOS–极益开源公益平台是极益科技专门为公益组织开发的CMS平台,主要用于快速搭建一个网站,以及公益组织所需的常见功能。NGOOS基于世界顶级CMS——TYPO3搭建,但是大大降低了中国人使用TYPO3的门槛,提高了易用性...

    蓝海豚Lht_CV2.0_1231商业版_-_模板2套

    版本号:Lht_CV2.0_1231 +----------------------------------+ Lht_CV2.0 团购导航系统软件的安装 +----------------------------------+ 一、安装Lht_CV2.0前必须安装大维1.4程序才能使用官方发布的升级包,我们...

    MetInfo企业网站管理系统最新官方版

    强大灵活的后台管理功能、静态页面生成功能、个性化模块添加功能、不同栏目自定义FLASH样式功能等,可为企业打造出大气漂亮且具有营销力的精品网站。 MetInfo v5.2.0 更新简报(2013年12月31日发布更新) 新增...

    《javaScrip开发技术大全》源代码

    • sample05.htm 判断浏览器对JavaScript版本的支持情况 • sample06.htm 引用外部JavaScript • sample07.htm 在同一个HTML文档中多次引用外部脚本文件 • sample08.htm 使用外部...

    FOXPHP开源威客系统 v3.01.zip

    FoxPHP 已优化 伪静态URL和生成HTML静态部属,与应用的SEO设定完善解决 SEO优化问题。 3.完美的 帐务管理 当时用户交易情况如 交易金额;交易对象;资金流向等详细记录,并与订单关联,可以追踪到某个任务上。 ...

    RouterOS2.9.6.with.crack及配置动画

    这些隧道协议可以为远程资源访问和企业间的连接提供很好的解决方案,如: l 通过PPTP或IPIP实现通网络资源互用 l EoIP或PPTP的远程局域网解决方案 l 支持PPPoE服务器 l Hotspot热点认证服务 热点服务认证系统是一种...

    C#编程经验技巧宝典

    4 &lt;br&gt;0008 为程序设置版本和帮助信息 4 &lt;br&gt;0009 设置Windows应用程序启动窗体 5 &lt;br&gt;0010 设置Web应用程序起始页 5 &lt;br&gt;0011 如何设置程序的出错窗口 5 &lt;br&gt;0012 如何进行程序调试 6 ...

    淘宝上买来的团购导航网站分享给大家

    如果后台开启SEO无效,请使用Rewrite.rar配置即可(虚拟空间用户请联系虚拟空间商解决) +----------------------------------+ Lht_CV2.0 系统的技术支持 +----------------------------------+

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    5. 客户端运行工具:目前的系统采用浏览器作为客户端,为了支持Ajax开发框架,应该选择使用IE 5以上版本浏览器。 本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库...

    YiDaCms免费开源企业建站系统最新官方版

    深度优化了后台,把不兼容浏览器的功能修复为全部兼容 增加了关闭网站只针对游客有效,管理员登录以后。可以正常浏览和调试网站 自定义标签中 增加了弹出层特效。让网站变的更加生动 嵌入了日历控制,让输入日期便得...

Global site tag (gtag.js) - Google Analytics