【问题标题】:Client get new data from server客户端从服务器获取新数据
【发布时间】:2015-09-30 06:45:48
【问题描述】:

我正在设计一个 Web 应用程序,其中服务器生成批量数据,客户端定期检查是否有新的批量数据可供下载。我这样做的方式是,每当服务器生成一批新数据时,它都可以在特定的 URL 上使用。客户端定期检查 URL 以查看是否有新批次可用。 (我目前没有使用 web sockets。)这批数据是 JSON 对象的格式。

由于我的网络经验很少,当客户端访问该 URL 时,我有点困惑该怎么做。客户端如何知道 URL 上的数据批次是新的(在这种情况下客户端应该下载它们)还是旧的(在这种情况下客户端应该忽略它们,因为它过去已经下载了它们)?

此外,可能有多个客户端使用同一台服务器,因此无论客户端数量如何,该解决方案都应该有效。

【问题讨论】:

  • 经过进一步研究,我认为我可能不得不使用“HTTP Error 304 - Not modified”,在这种情况下客户端应该忽略网页上的批量数据,因为客户端已经下载了那些批次。但是,假设该网页自客户端上次访问以来已经更新,客户端如何知道网页上的哪些数据批次是新的(应该下载),哪些是旧的(应该忽略,因为它已经已经下载了)?

标签: json http client client-server server


【解决方案1】:

在服务器抛出的 JSON 中包含 Timestamp 属性(通过服务器端脚本)。每次将数据更新到服务器时,都需要更改时间戳属性的值。现在,您可以通过检查修改日期轻松检测更改。

【讨论】:

  • 谢谢。如果我为每个数据批次加上时间戳(因为只有具有较晚时间戳的批次对我有用)有没有办法只下载具有较晚时间戳的批次?还是我需要将所有批次下载到客户端?数据采用 JSON 格式,如果有帮助,我在客户端使用带有 AJAX 的 Javascript。
  • 你不能只有一个批次并不断更新自己而不是拥有更多批次
猜你喜欢
  • 1970-01-01
  • 2020-08-16
  • 1970-01-01
  • 1970-01-01
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 2018-09-27
相关资源
最近更新 更多