2011-08-08 24 views
0

现在,使用任何可用的解决方案来部署Web浏览器端数据库似乎是相当危险的。你可以操纵本地缓存文件吗?

所以也许人们可以使用HTTP缓存以自定义的方式?

例如,我们从最近的一次会议通过我们的网络浏览器缓存一些数据(例如,在以.json格式表行)。考虑到这个本地文件,我们专门AJAX--请求最新的数据 - 反对再次请求一切 - 并且我们收到一个新文件。

然后我们可以合并这两个文件并以某种方式迫使其本地缓存为将来的会话。

这甚至可能吗?

+0

本地存储的风险让您无法使用它? –

+0

从我所能找到的信息来看,目前的选项涉及专有插件,浏览器特定的API或仍在开发中的标准。 – vemv

回答

1

随着您的网页上各种高速缓存控制设置,可以设置的东西,应该缓存和事情,不应该被缓存。然而,你不能控制某些东西是否真的被缓存,以及是否存在多久。这仍然取决于浏览器,可以依赖于你的控制之外的东西(缓存设置,因为它最初被缓存,当用户手动清除缓存等时使用浏览器)。

因此,举例来说,你不能使用缓存来可靠地提供给您的网页离线访问/应用程序,因为,在任何时候,一个页面,你真的需要在离线状态下只可能不会在那里当下线。

但是,如果你想通过提高有效利用缓存节省服务器往返的性能,它通常会工作(虽然你不能总是指望的工作)。

如果我会从浏览器端存储机制大大受益的应用程序,我会尽可能使用HTML5存储,然后再决定什么后备机制是,当这取决于应用程序不可用。有些选择在旧版浏览器中不能脱机访问(只需将所有数据存储在服务器上并在需要时获取并让缓存帮助提高性能)或使用插件(如Google Gears)提供本地存储(要求用户安装插件)。

+0

感谢您的回答。实际上,完全脱机功能在我的情况下不是必需的,我只是瞄准更好的性能。那么我应该使用哪些特定的技术? – vemv

+1

您只需决定可以长时间缓存哪些请求,并在这些页面上设置适当的缓存指令。有关如何控制网页缓存的文章,请参阅此处的列表:http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=how+to+control+cache+time+for+web+pages 。 – jfriend00