如何知道API响应是否已更改?

时间:2015-08-27 15:54:34

标签: http request response

我正在使用REST API,它将我想要的数据作为JSON响应返回。实际上,我只希望处理以前没有处理过的新数据,但我很难知道最好的解决方法。

我有一个想法是散列整个JSON响应并将其存储在一个变量中,然后每当我轮询API获取新数据时,我将其哈希并根据前一个调用的哈希检查它,然后如果哈希值不同我知道数据不同。显然,这似乎是一种非常低效的方式来了解是否有新数据,并且想知道如何更好地做到这一点。

我正在使用请求npm模块。

1 个答案:

答案 0 :(得分:0)

您可以尝试自己实现一组HTTP标头。您正在寻找的标题是:

  • 的ETag
  • 如果-Modified-Since的
  • 如果-未改性-由于
  • 如果改性
  • 如果-匹配

您将找到上述标题here的基本特征。 出于您的应用目的,ETag似乎是最好的。服务器的每个响应都应该有ETag标头。下次请求同一组数据时,ETag应包含在请求中。服务器决定自上次调用以来数据是否已更改(基于ETag)。如果是,则返回200和新集合,否则304