2009-12-29 125 views

回答

3

這是一個拉。這就是爲什麼你必須配置你的閱讀器刷新Feed的頻率。

9

RSS是一種拉技術。讀者現在重新獲取RSS提要(例如,每小時兩次,或者如果讀者得知它是經常更新的提要,則更頻繁)。

該訂閱源通過常規HTTP提供,由一個簡單的XML文件組成。

+1

問題是讀者如何知道有更新?它是否連續閱讀相同的提要?它如何知道有更新,而不是重新載入已經看到的內容? – 2010-02-13 21:38:52

10

它只是定期檢查訂閱源。

最近有一個叫做pubsubhubbub的新協議,可以讓聽衆進行推送。但它要求發佈商支持它。

Here是Web服務的列表支持實時RSS推送,包括谷歌閱讀器,博客,FeedBurner的,FriendFeed的,MySpace的,等

24

RSS是一種文件格式source,並不實際知道關於從哪裏獲取條目的任何信息。答案確實是:「一個http請求如何才能獲得來自服務器的最新結果」,答案是Conditional GETsource。 Http還支持Conditional PUT

This is an article關於使用http的這個特性來專門支持rss黑客。

+0

太棒了。那篇文章讓我看到了我正在尋找的RSS術語:「Conditional GET」。這個詞使我能夠在feedparser的Python文檔中找到我正在尋找的內容。再次感謝!每個人都應該+1這個答案! – 2013-01-09 03:34:20

5

讓我們來總結一下:

  • 通常情況下,客戶都知道,一個RSS feed已通過輪詢更新,即定期拉(HTTP GET對飼料的URL請求)
  • 推不存在上網絡,至少,不與HTTP,直到HTML5 websocket被修復。
  • 但是,一些博客框架,如Wordpress,Google等,現在支持pubsubhubbub公約。在這種模式下,您將「訂閱」RSS流的更新。 「中心」會調用您網站上的URL(回叫URL)向您發送更新:這是一個推動。

推或拉,在這兩種情況下,您仍然需要編寫一段代碼來更新您的站點,數據庫或任何存儲/顯示它的RSS列表。

而且,作爲一個側面問題,不必在每次拉取請求時查看整個XML,以查看內容是否已更改:使用未鏈接到RSS的標準,而是整個HTTP協議的全局標準(etag and last-modified headers ),您可以知道RSS頁面是否在給定日期後被修改,並且只有在修改後才能獲取整個XML。