注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gmd20的个人空间

// 编程和生活

 
 
 

日志

 
 

如何编程访问谷歌浏览器Google Chrome 的缓存?  

2011-04-03 12:00:55|  分类: 程序设计 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

IE9 不支持 winxp了,想使用Google  Chrome 了。 也想把我那个“扫描IE缓存里面的音乐文件”的小程序改成支持Chrome的那就好了。

Google的缓存是保存在C:\Documents and Settings\用户名\Local Settings\Application Data\Google\    这个文件夹里面的。不过他没有想ie那样实现shell文件夹扩展,所以打开的时候,你根本区分不出文件来。

在网上也有读取chrome缓存的工具,不过不是开源的。我试了一下,扫描一次要很久啊。

在网上找了一下资料:

webkit网站资料说到不同的浏览器采用的磁盘缓存机制。

http://trac.webkit.org/wiki/Disk%20Cache

Firefox的实现:http://www.symantec.com/connect/articles/web-browser-forensics-part-2
Google Chrome的磁盘缓存机制文档:http://www.chromium.org/developers/design-documents/network-stack/disk-cache

 Google的代码都是开源的,可以在这里看到具体实现。

http://src.chromium.org/svn/trunk/src/net/disk_cache/
http://src.chromium.org/svn/trunk/src/net/tools/dump_cache/

后面那个应该是个例子。

 

总结一下:这个浏览器的缓存实现应该在各个浏览器里面都差不多的吧。 根据Google的文档,一般都是搞个从http url地址的hash table index文件(Chrome是把url转为一个32位数字表示的地址),以便快速查询。相应的文件的http头和其他有用信息也需要保存,具体缓存文件内容可能划分为若干Block file保存起来。浏览器为了加速,都对一些文件做了内存io map了。像IE的接口的话,可能就是访问的他已经map了的数据了,因为他都隐藏了本地文件接口了,可能本地磁盘也不是一个一个文件的保存起来的。因为IE和系统的集成,所以他的接口支持比较好。

但对Chrome浏览器的话,我不知道是否有封装比较好的接口使用(谁知道的告诉我^_^)。如果我们直接访问磁盘文件,自己解析出缓存文件内容的话,因为有源代码可以参考,他本身的结构也不是很复杂,把上面提到那两个chromium disk cache代码移过来应该是可以的。不过没有系统提供的内存map操作(chrome没启动的时候) ,操作起来应该是比较慢的。就像我用的那个ChromeCacheView工具一样。

全部都弄的好一点,应该要费点功夫的,呵呵,暂时不做这个了,我还是用IE8好了如何编程访问谷歌浏览器Google Chrome 的缓存? - widebright - widebright的个人空间

  评论这张
 
阅读(1045)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017