我正在尝试构建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 A
和feed B
,但RSS阅读器会在大于此的间隔只会得到feed B
,对吧?所以现在你看到我要去的地方。
这就是我认为的解决方案
for rss.php:
<?php
get_x_number_feeds_sorted_by_timestamps();
generate_valid_xml();
output_feeds();
?>
现在问题出现在经常轮询的RSS阅读器上,他们会一遍又一遍地得到相同的结果集。 RSS读者如何处理这个问题?他们实际检查饲料内容并将其与“缓存”进行比较吗?这不是浪费周期吗?或者这是RSS阅读器的工作原理吗?
答案 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
:频道内容的发布日期。