1

给定一个可以用“服务器端”语言实现的典型 Web 应用程序,例如 ASP.NET 集合或 PHP,通过浏览器提供最终用户交互,是否可以使用持久本地缓存?

例如,以存储数千条员工记录的简单集中式数据库为例。只要此缓存不会过时,浏览器拥有相应数据的本地副本会更有效。这将如何实现?据我所知,cookie 是暴露的浏览器内存的扩展,严格的域策略会阻止与硬盘驱动器的任何交互。

我从 PHP 或 ASPX Web 表单应用程序(超文本应用程序?)的角度思考,我理解为无状态,所以我很难理解如何实现这一点。其他 .NET 解决方案是否会提供任何优势,例如 .NET MVC 或 WCF?

我应该指出,这没有考虑到小程序技术 Java、Flash、Silverlight 等。

4

1 回答 1

4

HTML5 localStorage 和 sessionStorage 最多可容纳 5 MB 或更多,具体取决于域的浏览器。

HTML5 ApplicationCache 特别适合您的需求,因为您可以指定一个清单,检查每个请求的修改情况,但每次仅访问该文件,而除非指示这样做,否则不会请求您的缓存资源,从而节省大量带宽。如果您通过服务器端动态编程提供清单文件,您可以轻松地实现缓存策略,只需在获取新数据时更改清单文件时间戳或文档中的注释。清单文件可以基于用户的动态提供cookie,因此如果您需要划分数据,您可以拥有每个用户拥有的数据集。

您必须使用 JSON.stringify 和 jQuery.parseJSON 在 JavaScript 客户端上进行大量开发,以使用诸如 knockout.js 之类的框架进行数据绑定等进行序列化和反序列化。我在做这些事情方面有丰富的经验,并且曾经认为服务器- 这么多。现在我只看到服务器端允许我对 JSON 数据进行 CRUD,因为这就是我在做 Web 应用程序时使用它的目的。

于 2013-03-26T23:24:09.427 回答