【问题标题】:HTML5 Offline Storage use case?HTML5 离线存储用例?
【发布时间】:2012-11-23 20:34:50
【问题描述】:

对不起这个问题,但是这里的每个人都在谈论IndexedDB,WebSQL,Local Storage,所以我的问题很简单:

如果应用程序总是在刷新新内容(想想 Facebook 或电子商务网站),那么使用离线存储是否有意义?如果是,那么我要存储什么?用户的文件?

【问题讨论】:

  • Facebook 可以存储您的朋友列表。电子商务网站可以存储您查看过的项目。
  • HTML5 本地存储用于存储浏览器页面可能想要存储在本地用户计算机上的任何内容。由于此信息仅存储在本地用户的计算机上,因此无法从该用户可能使用的任何其他计算机上获得。它可以用作数据缓存、存储来自一台计算机的某些用户状态、用作离线访问的临时存储等等......
  • @jfriend00 如果浏览器的同步机制跨机器传输本地存储数据,我不会感到惊讶。
  • @AbdelouahabPp 在 SO 上搜索,例如stackoverflow.com/q/3220660/425275
  • @AbdelouahabPp 您是否在一个会话期间多次请求“其余的”? (就像在每个页面加载时一样?)如果没有,您将页面之间的数据保存在哪里?

标签: html offlineapps


【解决方案1】:

是的,这是有道理的。

假设,我们有很多用户数据和应用程序数据。应用程序数据对所有用户共享,而用户数据对登录用户是私有的。使用了两个客户端数据库。数据存储在 IndexedDB(或 WebSQL)中。一旦用户访问页面,数据立即呈现,无需向后端服务器发送请求。

渲染页面后,发送 XHR GET 请求,并带有 If-None-Match etag 标头。根据我们是否需要更新,服务器将回复 302 或 200。这样可以节省带宽和服务器负载。

【讨论】:

  • 你在开玩笑吧。首次登录是纯 HTML。
  • 一次,登录,你知道用户ID。您可以检索特定于该用户 ID 的数据库并为用户呈现所有内容。
  • 如果可以,您可以使用“旧方式”缓存。但它不像数据库那么容易。您可以看到 gmail 应用程序,它没有使用数据库,而是使用“旧方式”。看看有多难。全部转到私有缓存查询 url iframesssss。客户端数据库显着降低服务器负载。
  • 正确。我正在编写一个 js 数据库库。绝对值得为您的情况查看dev.yathit.com/ydn-db/getting-started.html。 gdata、odata 和 couchdb 将会同步。
  • 是的。你不需要后端数据库,像谷歌云存储这样的 blob 存储就可以了。关于它们的一件好事是它们具有面向对象的 ACL。将桶的创建对象权限授予登录用户,它成为安全的私有数据库。
猜你喜欢
  • 2012-03-06
  • 2011-01-09
  • 2013-01-23
  • 2011-11-06
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-15
相关资源
最近更新 更多