WebGame的资源版本管理

做WebGame的朋友应该都会遇到这个资源版本的问题,就是你明明在服务器上更新了资源,但是用户却一直拿到的是老版本的资源。
这个问题最根本的原因是由于浏览器的缓存机制所造成的。

关于浏览器的缓存机制其实挺简单的,就是浏览器会将请求到的资源缓存在本地的临时目录中,当下一次再次去服务器上请求一个相同的资源时,会先在本地查找是否有这个资源,如果有的话就直接从本地硬盘上读取,否则才去服务器上加载。更多GOOGLE:浏览器缓存机制

一个有效的解决方式是在一个资源后面加上一些附加参数,比如资源的版本号,像这样:http://localhost/res.jpg?v=100
其中的100指的就是资源的版本号。

打个比方之前的版本号是99,现在为100,因为请求的URL变化了,所以浏览器会认为这不是同一个资源,因此就去服务器上请求。

这样的话就需要给每个资源生成一个版本号了,这个版本号的生成我自己知道的有两种:
一、生成文件的MD5值。
二、使用文件的SVN版本号,或者是相应的版本控制工具的版本号。

第一种方式比较简单,MD5就概率上来说重合的几率几乎为0。
第二种方式就需要知道怎么拿到SVN的版本号了。

从一个牛人那里要到了如下的方法:

将SVN目录下的文件导出XML版本号文件

svn status -v --xml>> rev.xml

请先安装一个命令行的SVN客户端!

你可能感兴趣的:(版本管理)