2011-10-07 151 views
1

我試圖建立一個RSS源,我不知道RSS閱讀器如何工作。實施rss閱讀器php

這裏是我的問題:

RSS閱讀器「民意調查」的RSS訂閱,他們訂閱定期(從每一個15分鐘,每天)吧?

如果我實現了我的飼料像這樣:

爲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和發佈feed B 16分鐘後,每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閱讀器如何處理這個問題?他們是否真的檢查Feed內容並將其與「緩存」進行比較?這不是浪費週期嗎?或者,RSS閱讀器是如何工作的?

回答

1

大多數RSS提要包括類似的東西:

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

你可以只檢查並做什麼,如果什麼都沒有改變。

lastBuildDate:頻道內容上次更改。
pubDate:頻道內容的發佈日期。

- >http://cyber.law.harvard.edu/rss/rss.html

+0

'pubDate'指進料的時間戳和'lastBuildDate'是指由讀取器(不一定是相同的閱讀器)訪問上次的時間? –

+0

見編輯;這不一樣。 – MasterCassim