民意调查政策

时间:2009-06-02 13:44:35

标签: http rss atom-feed

我有一个应用程序可以在网上查看几个RSS来源。

轮询其他网络服务器时的礼仪是什么?投票的频率等等?

最佳做法是什么?

8 个答案:

答案 0 :(得分:37)

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

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

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

  4. 尝试适应每个RSS Feed中新项目的频率。如果在过去一周内,特定Feed中只有两个更新,请不要每天多次获取。 AFAIR Google阅读器可以做到这一点。

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

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

答案 1 :(得分:5)

谷歌的FeedFetcher声称它每小时调查rss的费用不到一次。

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

  

Feed Crawl Frequency

     

由于Google AJAX Feed API使用Feedfetcher,因此来自AJAX Feed API的Feed数据可能并不总是最新的。 Google Feed抓取工具(“Feedfetcher”)每小时检索大多数网站的Feed少于一次。一些经常更新的网站可能会更频繁地刷新。

答案 2 :(得分:3)

好吧,我会去那里,忽略那些说“谷歌说,我们这样做”的帖子,然后说:经常需要这样做。

RSS可以帮助您了解最新信息。如果Feed每小时发布1​​0个项目但只显示5个项目,那么您将错过其中的5个项目并且Feed无法满足其目的。你可能根本不打它。

当然,你不能用服务器敲击请求,但如果他们发布的内容足以让你每分钟请求一次,我就不会看到匹配这个速率是不合理的。

答案 3 :(得分:2)

Once an hour,如果你想通过经验法则(但链接解释了一些更好的选项)。

答案 4 :(得分:1)

每小时一次是我听过的频率。

答案 5 :(得分:0)

Rss中有一个ttl设置,所以你应该只在TTL到期时进行轮询。

但是我想如果他们没有把问题放在他们的问题中,那么你应该像每小时那样进行一次调查

答案 6 :(得分:0)

这不是一个完整的答案,而是寻找推送警报。

The RSS blog表示最佳做法是询问weblogs.com有关已更改博客的信息。

还有一些关于pubsub的喧哗,这是一种订阅推送警报的方法。

答案 7 :(得分:0)

我注意到twitter使用(自定义)X-RateLimit-RemainingX-RateLimit-Limit标头(在HTTP响应中)来指示Atom订阅源的最大授权轮询数。遗憾的是,他们没有使用标准Expires字段(过去30年设置:P)我猜他们Cache-Control: no-cache的广告也排除了在{{1}}中定义的通用的heuritic到期时间。 RFC 2616(第13.2。*节)。更令人遗憾的是,Atom似乎没有提供任何标准化的方法来告诉我们建议多长时间轮询一次Feed。