假设一个典型的 web 应用程序可以用“服务器端”语言实现,例如 ASP.NET 集合或 PHP,浏览器提供最终用户交互,是否可以使用持久的本地缓存?
例如,以存储数千条员工记录的简单集中式数据库为例。只要此缓存不会过时,浏览器拥有适当数据的本地副本会更有效。这将如何实现?据我所知,cookie 是暴露的浏览器内存的扩展,严格的域策略会阻止与硬盘驱动器的任何交互。
我是从 PHP 或 ASPX Web 表单应用程序(超文本应用程序?)的角度考虑的,我认为这是无状态的,所以我很难理解如何实现这一点。其他 .NET 解决方案(例如 .NET MVC 或 WCF)是否会提供任何优势?
我应该指出,这没有考虑 Java、Flash、Silverlight 等小程序技术。
最佳答案
HTML5 localStorage 和 sessionStorage 最多可以容纳 5 MB 或更多,具体取决于域的浏览器。
HTML5 ApplicationCache 特别适用于您想要的东西,因为您可以指定一个 list ,检查每个请求的修改但每次只访问该文件,而除非指示这样做,否则不会请求您的缓存资源,从而节省大量带宽。如果您通过服务器端动态编程提供 list 文件,则可以通过在获取新数据时简单地更改 list 文件时间戳或文档中的注释来轻松实现缓存策略。 list 文件可以根据用户的动态提供cookie,因此如果您需要划分数据,您实际上可以拥有每个用户拥有的数据集。
您必须使用 JSON.stringify 和 jQuery.parseJSON 在 JavaScript 客户端上进行大量开发,以使用一些框架(例如 knockout.js 进行数据绑定(bind)等)进行序列化和反序列化。我在做这些事情方面有丰富的经验,并且使用过考虑服务器端这么多。现在我只看到服务器端允许我对 JSON 数据进行增删改查,因为这是我在开发 Web 应用程序时使用它的目的。
关于c# - 典型的基于浏览器的 Web 解决方案可以利用缓存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15649167/