你可以操纵本地缓存的文件吗?

时间:2011-08-08 13:50:56

标签: javascript http browser

现在,使用任何可用的解决方案部署Web浏览器端数据库似乎风险很大。

那么也许可以以自定义方式使用HTTP缓存?

例如,我们的网络浏览器缓存了一些数据(例如,.json格式的表格行)来自最新的会话。考虑到这个本地文件,我们专门用AJAX请求最新数据 - 而不是再次请求所有数据 - 我们收到一个新文件。

然后我们可以合并这两个文件,并以某种方式强制其本地缓存用于将来的会话。

这甚至可能吗?

1 个答案:

答案 0 :(得分:1)

通过页面上的各种缓存控制设置,您可以设置应缓存的内容和不应缓存的内容。但是,您无法控制某些内容是否真的被缓存以及持续多长时间。这仍然取决于浏览器,可能取决于你无法控制的事情(缓存设置,浏览器的使用,因为它最初被缓存,用户手动清除缓存等等)。

因此,例如,您无法使用缓存可靠地提供对页面/应用程序的脱机访问,因为在离线时您真正需要的页面在离线时可能不存在。

但是,如果您试图通过有效地使用缓存来保存服务器往返来提高性能,那么它通常会起作用(尽管您不能指望它始终有效)。

如果我的应用程序可以从浏览器端存储机制中受益匪浅,我会尽可能使用HTML5存储,然后根据应用程序确定何时不可用的回退机制。一些选择是在旧浏览器中无法脱机访问(只需将所有数据存储在服务器上并在需要时获取并让缓存帮助提高性能)或使用插件(如Google Gears)提供本地存储(要求用户安装插件。