实现rss阅读器php

时间:2011-10-07 09:13:10

标签: php rss

我正在尝试构建RSS源,我不知道RSS阅读器的工作原理。

这是我的问题:

RSS阅读器“轮询”他们定期订阅的RSS源(从每15分钟到每天)对吗?

如果我像这样实施我的Feed:

for content.php:

<?php
  update_content();
  set_feed_content();
  set_feed_timestamp();
  store_feed_to_db();
?>

对于rss.php:

<?php
  get_the_latest_feed_from_db();
  generate_valid_xml();
  output_feed();
?>

然后,如果我现在发布feed A并在16分钟后发布feed B,那么每15分钟轮询一次的RSS阅读器将获得feed Afeed B,但RSS阅读器会在大于此的间隔只会得到feed B,对吧?所以现在你看到我要去的地方。

这就是我认为的解决方案

for rss.php:
<?php
  get_x_number_feeds_sorted_by_timestamps();
  generate_valid_xml();
  output_feeds();
?>

现在问题出现在经常轮询的RSS阅读器上,他们会一遍又一遍地得到相同的结果集。 RSS读者如何处理这个问题?他们实际检查饲料内容并将其与“缓存”进行比较吗?这不是浪费周期吗?或者这是RSS阅读器的工作原理吗?

1 个答案:

答案 0 :(得分:1)

大多数RSS订阅源都包含类似内容:

<pubDate>Fri, 07 Oct 2011 09:14:56 +0000</pubDate>
<lastBuildDate>Fri, 07 Oct 2011 09:14:56 +0000</lastBuildDate>

如果没有任何改变,你可以检查这一点,什么都不做。

  

lastBuildDate:频道内容最后一次更改   pubDate:频道内容的发布日期。

- &GT; http://cyber.law.harvard.edu/rss/rss.html