【发布时间】:2010-11-22 12:30:38
【问题描述】:
检测 Feed 何时更新的最佳方法是什么?假设我有一个应用程序每 15 分钟轮询一次提要。如何确定是否添加了新内容? 用于 RSS 和 Atom 提要。
【问题讨论】:
检测 Feed 何时更新的最佳方法是什么?假设我有一个应用程序每 15 分钟轮询一次提要。如何确定是否添加了新内容? 用于 RSS 和 Atom 提要。
【问题讨论】:
RSS 2 和 Atom 中的每个项目都有一个可能被标记为唯一的 GUID/ID。如果它被标记为唯一,您可以使用它来识别项目并与之前的项目进行匹配。
【讨论】:
guid 是一个可选字段,因此它可能不会出现在某些 RSS 提要中!
在请求字段时检查 http 响应的 Last-Modified 和 ETag 字段。更好的是,在您的请求中使用 If-Modified-Since 和 If-None-Match 标签,如果提要没有被修改,您只会收到 304 响应。 (见:http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)
【讨论】:
我在我的项目中使用 etags,在 servlet 过滤器中计算,如下所示 http://www.infoq.com/articles/etags
这适用于您的网络服务器上托管的 rss、atom 或任何其他资源。
【讨论】: