六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 170|回复: 0

使用版本号来同步浏览器缓存

[复制链接]

升级  24%

22

主题

22

主题

22

主题

秀才

Rank: 2

积分
86
 楼主| 发表于 2013-2-8 00:23:32 | 显示全部楼层 |阅读模式
在浏览器缓存这块,缓存同步比较被动,如果依靠设置时间过期的话,那文件更新了将不能及时同步。

今天,发现Wordpress加载js和css都会在文件名后加上一串变量,很多网站都这样,例如je:<script src="http://www.iteye.com/javascripts/application.js?1235486423" type="text/javascript"></script> 后面有一个时间戳,这个时间戳是这个文件的版本号

以前一直没想明白为什么,今天突然想明白了,这是这个文件的版本号)。

这样做的话,可以把缓存设置成永不过期,当文件修改的话只要修改版本号就可以让缓存失效了,因为url不一样了,优点很明显可以同步浏览器缓存,缺点就是维护麻烦,为了方便维护可以统一用几个变量来控制,只要改变这个变量,那全站的都会更改。

我一直都想写一个静态文件模板,这个模板负责加载js/css,把多个文件在后台合并成一个静态文件,这样就可以减少http链接了,而且开发时也方便,不用考虑合并和压缩的问题。用法类似proxy.php?js=jquery,foo,some 或者proxy.php?css=more,less 如果是css的会递归合并@import的文件。

模板的功能包括

  • 合并js和css
  • 首次生成压缩文件
  • 同步浏览器缓存
我的疑虑,这样做的是不是真的有效果?设计得不好,就会画蛇添足了。而且,会不会付出很多得到很少,折腾自己。
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表