web-dev-qa-db-ja.com

RSSリーダーは、フィードが更新されたことをどのようにして知るのですか?

ユーチューブでこれについて学んだだけですが、読者が更新があることをどのように知っているかという私の質問に対する答えを見つけることができませんでした。

それはブラックベリーのプッシュのようなものですか?

28
Mith

RSSはファイル形式 source であり、実際にはエントリの取得元について何も知りません。答えは実際には「httpリクエストがサーバーから最新の結果のみを取得する方法」であり、答えは条件付きGETです。ソース 。 Httpは条件付きPUTもサポートします。

これは、httpのこの機能を使用してrssハッカーを具体的にサポートすることに関する記事 です。

31
Gabriel

RSSはプルテクノロジーです。リーダーはRSSフィードを時々再フェッチします(たとえば、1時間に2回、またはリーダーが頻繁に更新されるフィードであることを知った場合はさらに頻繁に)。

フィードは通常のHTTPを介して提供され、単純なXMLファイルで構成されます。

15
Emil Vikström

フィードの更新を定期的にチェックするだけです。

最近、フィードをリスナーにプッシュするための pubsubhubbub という新しいプロトコルがあります。しかし、それは出版社がそれをサポートすることを要求します。

ここ は、Google Reader、Blogger、FeedBurner、FriendFeed、MySpaceなどを含むリアルタイムRSSプッシュをサポートするWebサービスのリストです。

11
iamamac

要約しましょう:

  • 通常、クライアントは、RSSフィードがポーリング、つまり通常のプル(フィードURLでのHTTP GET要求)によって更新されたことを知っています。
  • プッシュは、少なくとも、 HTML5 websocket が修正されるまで、HTTPでは存在しません。
  • ただし、Wordpress、Googleなどの一部のブログフレームワークは、 pubsubhubbub 規則をサポートするようになりました。このモードでは、RSSフローの更新を「サブスクライブ」します。 「ハブ」はあなたのサイトのURL(コールバックURL)を呼び出して、更新を送信します。これはプッシュです。

プッシュまたはプル。どちらの場合も、サイト、データベース、または保存/表示する場所のRSSリストを更新するためのコードを記述する必要があります。

また、副次的な質問として、コンテンツが変更されたかどうかを確認するために、プルのたびにXML全体を要求する必要はありません。RSSにリンクされていないが、HTTPプロトコル全体に対してグローバルな標準を使用しています( etagおよび最終変更ヘッダー )、RSSページが特定の日付以降に変更されたかどうかを知ることができ、変更された場合にのみXML全体を取得します。

7
spiritoo

それはプルです。そのため、フィードを更新する頻度をリーダーで構成する必要があります。

4
Peter Schuetze