`
willko
  • 浏览: 386601 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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

阅读更多
在浏览器缓存这块,缓存同步比较被动,如果依靠设置时间过期的话,那文件更新了将不能及时同步。

今天,发现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的文件。

模板的功能包括
  1. 合并js和css
  2. 首次生成压缩文件
  3. 同步浏览器缓存
我的疑虑,这样做的是不是真的有效果?设计得不好,就会画蛇添足了。而且,会不会付出很多得到很少,折腾自己。
分享到:
评论
1 楼 mhhtj 2009-05-20  
想法很好,我也正为这事苦恼呢。css修改了每次都要ctrl+f5十几次才反应过来。

相关推荐

    gulp打包项目,css、js自动添加版本号,防止缓存,代理

    `gulp`是一个流行的JavaScript任务运行器,它可以帮助开发者自动化各种重复性的构建任务,如编译Sass到CSS,压缩JavaScript,或者像在这个场景下,自动为CSS和JS文件添加版本号以避免浏览器缓存问题。这里我们将深入...

    HTTP网络缓存代码实例

    - 使用版本号或时间戳作为动态资源的URL一部分,使每次更新时URL改变,强制浏览器重新请求。 - 避免缓存敏感信息,如登录状态、个性化数据等。 通过理解HTTP网络缓存的工作原理和控制机制,开发者可以有效地提升...

    uc浏览器免安装版

    6. **5.2.2603.31**:这可能是UC浏览器的一个版本号,表示当前使用的软件版本。这个数字通常代表了软件的开发进度和修复的错误,随着软件的更新迭代,这个版本号会有所变化。 UC浏览器免安装版的特点在于其便携性和...

    360浏览器无法登陆账号怎么办.docx

    此外,清理浏览器缓存和Cookies也可能有助于恢复登录功能。 如果所有常规解决方案都无效,建议联系360浏览器的官方客服,他们能提供专业的技术支持,帮助你排查问题。同时,确保你的电脑系统和杀毒软件也是最新的,...

    chromium浏览器linux版本

    版本号1000548是Chromium的一个特定更新,发布于2022年5月,确保了对现代编程语言和技术的良好支持。 1. **Chromium的基本概念**:Chromium是由Google主导的开放源代码项目,旨在为用户提供快速、安全、高效的浏览...

    chrome浏览器

    "48.0.2560.0_chrome64_installer.exe"是Chrome浏览器的一个安装文件,其中的数字“48.0.2560.0”代表的是该版本的版本号,而“chrome64”可能指的是这是一款64位版本的Chrome浏览器。64位版本相比32位版本,能够更...

    离线缓存demo.rar

    7. **策略管理**: 开发者需要设计合理的缓存策略,例如LRU(Least Recently Used)最近最少使用,FIFO(First In First Out)先进先出,以及基于版本号或时间戳的策略,以决定何时替换或更新缓存中的数据。...

    apicloud 缓存方案 js代码

    此外,考虑到数据的一致性和更新问题,你可能需要实现缓存失效策略,比如时间戳检查、版本号比较等,以确保本地缓存的数据不会过期或者与服务器数据冲突。 在实际开发中,还可以结合APICloud的`api.request`方法的`...

    利用HTML5的manifest文件做缓存

    需要注意的是,`manifest`文件的修改会导致浏览器重新下载整个缓存列表,因此在更新应用时,通常会在文件开头添加一个版本号或时间戳,以确保用户总是获取最新内容。 在实际应用中,`manifest`文件的应用有以下几点...

    UC手机浏览器PC版

    1. **浏览器卡顿**:如果浏览器运行不流畅,可以尝试清理缓存、关闭不必要的标签页或更新浏览器版本。 2. **无法正常显示网页**:检查网络连接是否稳定,或尝试更换其他搜索引擎重新搜索网页。 3. **广告拦截失效*...

    memcached和js版本控制

    每次更新时,版本号变更,浏览器会强制下载新的文件。 2. **使用构建工具**:像Webpack、Rollup这样的构建工具,可以在打包过程中自动添加哈希值到文件名,例如`script-abcdefg.js`。即使微小的改动也会导致哈希值...

    系统工具-文件下载-飞火浏览器 2.3.7.zip

    它的版本号为2.3.7,这表明这是该软件的一个特定更新版本,通常包含性能优化、错误修复和可能的新功能。在了解这款浏览器之前,我们先来探讨一下浏览器的基本概念。 浏览器是互联网用户访问网页的主要工具,它负责...

    遨游浏览器

    压缩包中的文件“mx_2.0.8.1720cn@skywolf1986”很可能是指遨游浏览器的某个特定版本,例如版本号2.0.8.1720的中国版。这个文件可能包含浏览器的安装程序或者更新补丁,用户可以通过下载和安装来获取或升级遨游...

    M浏览器v2.8.0 影视小说等自定义插件.zip

    这款浏览器版本号为2.8.0,它集成了针对影视、小说等多种类型的内容定制功能,使得用户可以根据自己的兴趣爱好进行个性化设置,提升浏览体验。其中,"自定义插件"是该软件的一大亮点,允许用户自由添加或定制插件以...

    搜狗高速浏览器r_1.4.0.422_3070.zip

    【描述】"搜狗高速浏览器1.4.0" 这句话是对压缩包内容的简要概述,强调了这是搜狗高速浏览器的一个早期版本,版本号为1.4.0。搜狗高速浏览器是中国知名的网络浏览器之一,它基于Chromium内核,提供快速的网页浏览...

    ipad1 360HD浏览器 ios5

    标题中的“ipad1 360HD浏览器 ios5”指的是在第一代iPad上使用360安全浏览器的高清版本,适用于iOS 5操作系统。360浏览器HD是一款专为iPad设计的网络浏览应用,提供了全屏浏览、网页加速、隐私保护等功能,旨在提升...

    搜狗浏览器

    3. **同步设置**:通过账号登录,可以实现书签、历史记录等数据的云端同步,确保在不同设备上的使用一致性。 4. **定期更新**:定期检查浏览器更新,获取最新的功能和安全补丁,确保浏览器的稳定性和安全性。 总的...

    SD卡文件浏览器

    在实际应用中,开发者可能会为不同的更新或测试阶段分配不同的版本号或代码名称。 通过了解这些知识点,我们可以更好地理解“SD卡文件浏览器”的功能和它在用户日常操作中的作用。对于Android用户来说,这样一个...

Global site tag (gtag.js) - Google Analytics