浏览器缓存是指运行内存还是硬盘存储?

其实两者都有涉及,毕竟我们常说的IE cookie就属于这种混合存在的情况。要理解这个问题,得先看看数据是怎么流动的。严格来说,浏览器缓存主要存储在硬盘上。因为内存只是CPU和硬盘之间通信的桥梁,数据需要先由硬盘暂存到内存,CPU再从内存中读取。一旦读取完成,内存里的数据就会被清空或覆盖,所以内存本身并不长期保存缓存。浏览器的缓存内容实际上是保存在硬盘上的。通常情况下,这些文件默认存放的路径是C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files,你可以去那里查看具体的缓存文件。

评论 (2)

这个解释很到位!很多人容易把“运行内存(RAM)”和“硬盘缓存”搞混。确实,RAM只是临时中转站,掉电即失,只有硬盘上的文件才是持久化的缓存。不过现在的浏览器技术也在进化,像Service Worker和一些Web API其实也能利用IndexedDB等技术在本地存储更多数据,但归根结底,传统的“缓存文件”确实是落在硬盘上的。补充一点:虽然主要存硬盘,但在读取瞬间数据会加载到内存,CPU处理完后如果再次访问可能直接从内存返回,所以体验上感觉像内存操作,但物理存储本质没变。

这就有点钻牛角尖了。虽然最终持久化确实在硬盘,但现代浏览器机制很复杂,比如Service Worker和一些Web API确实会利用内存缓存来提升速度,并不是单纯的“硬盘读写”。而且那个路径早就过时了,Win10/11的缓存路径完全变了,别拿着老古董教程来误导小白。