思考方向:修改资源的地址名,对浏览器来说,就是一个全新的请求
传统方式
原理:在【静态资源】后面加版本号
script(src="indexPage.js?V=20160910")
- 优点:可以解决缓存造成的问题,能及时更新缓存,让用户访问更新的内容
- 缺点:在中、大型项目中,版本号一般是统一加的变量,当只是一个小的修改的时候,比如只有一个js脚本发生变化,这时候所有资源的版本号都更新,造成资源流量浪费
增量式发布
原理:利用md5加密技术(把需要生产md5串的资源读取过来,利用md5对内容进行加密)编译,生成相应的加密串,这个加密串是唯一的,如果资源的内容没有变化,再次进行md5处理,生成的加密串不变化。
- 优点:提交资源服务器的时候,只会把新的文件提交上去,没有变化的文件依然是老的资源,也就是指增加了修改后的文件–增量式发布
- 缺点:文件提交之后,更新的那个文件,可能存在多个版本,造成服务器空间的浪费,需要定期清理不用的资源。