我有一个应用程序可以轮询网络上的多个 RSS 源。

轮询其他网络服务器时的礼仪是什么?多久进行一次轮询等?

最佳实践是什么?

有帮助吗?

解决方案

  1. 利用 HTTP 缓存。发送 EtagLastModified 标头。认出 304 Not modified 回复。这样您可以节省大量带宽。此外,一些脚本可以识别 LastModified 标头并仅返回部分内容(即只有两到三个最新项目,而不是全部 30 个左右)。

  2. 不要从支持的服务轮询 RSS RPC 平 (或其他 PUSH 服务,例如 PubSubHubbub)。IE。如果您从服务接收推送通知,则不必在标准间隔内轮询数据 - 每天轮询一次以检查该机制是否仍然有效(ping 可能被禁用、重新配置、损坏等) )。这样,您只能在收到通知时获取 RSS,而不是每小时左右获取 RSS。

  3. 检查 TTL(在 RSS 中)或缓存控制标头(Expires 在 ATOM 中),并且在资源过期之前不获取。

  4. 尝试适应每个 RSS 提要中新项目的频率。如果在过去一周内特定提要只有两次更新,则每天不要多次获取它。AFAIR Google Reader 就是这么做的。

  5. 在夜间或网站流量较低的其他时间降低费率。

  6. 最后,每小时做一次。;)

其他提示

谷歌的Feedfetcher声称它轮询RSS订阅高于每小时一次略显不足。

自: http://code.google.com/apis/ajaxfeeds/documentation/

  

饲料抓取频率

     

作为谷歌AJAX订阅API使用Feedfetcher的,进料数据从AJAX订阅API可能不总是最新的。该谷歌饲料爬虫(“Feedfetcher会”)检索比每小时一次少从大多数网站供稿。一些经常更新的网站可能会更频繁地刷新。

嗯,我要去那里,忽略了说:“谷歌说,我们做的”,并说帖子:经常你现实需要

RSS有没有让你最新的。如果饲料发布10项小时但只显示五个,你会错过这些项目的五进不服务宗旨。你还不如不打它。

当然,你不能敲击服务器请求,但如果他们发布足以让你请求一分钟一次,我看不出它是如何不合理的匹配率。

一小时一次,如果你想仅仅通过规则的拇指去(但链接解释了一些更好的选择)。

在一个小时是我听到的频率。

RSS中有一个TTL设置,以便真正当TTL过期后只能查询。

但我想,如果他们不把一个在它自己的问题,您应查询类似每小时一次

这不是完整的答案,但请寻找推送警报。

RSS 博客 表示最佳实践是询问 博客网站 关于更改的博客。

还有一些,呃,喧闹,关于 发布订阅, ,一种订阅推送警报的方式,具有一定的势头。

我注意到,Twitter使用(自定义)X-RateLimit-RemainingX-RateLimit-Limit报头(在HTTP响应),以指示授权轮询的最大数目为Atom提要。这在某种程度上遗憾的是他们没有使用标准Expires场(这是在过去的集合30岁:P)(。第13.2 *)我猜他们Cache-Control: no-cache的广告也排除了在RFC 2616中定义的一般heursitic到期时间。这更遗憾的是,凌动似乎没有提供任何标准化的方式来告诉建议多久一个轮询饲料。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top