web-dev-qa-db-ja.com

RSSの<pubDate>と<lastBuildDate>の違いは何ですか?

すべてのRSS.xmlファイルで、pubDateとlastBuildDateの両方が一致しているように感じます。

私はこれが常に真実であるとは限らないと確信しています...

それで、最初に、上記の2つの違いは何ですか?

次に、RSSリーダーは、pubDateまたはlastBuildDateに基づいて、日付でコンテンツを並べ替えますか?

35
OrElse

pubDate:

チャネルまたはアイテムの元の公開日。 (オプション)

lastBuildDate:

チャンネルのコンテンツが変更された最新の時間。 (オプション)


RSS 2.0仕様のオプション項目 のドキュメントを次に示します。

30
Gabriel Hurley

ここでの答えはいたるところにあります。 itemにもpubDateがあるという事実に混乱している人もいます。 OPは、lastBuildDatepubDatechannelレベルでの違いについて具体的に質問していると思います。

あいまいな説明で悪名高いRSS仕様についての私の理解からすると、フィードが最後に作成されたのはlastBuildDateです。たとえば、そのコピーをサーバーに一定期間キャッシュした場合、lastBuildDateはキャッシュされたコピーが作成された時刻になります。

一方、pubDateは、基本的に、フィード内の実際のコンテンツが変更された最後の時間のようです。通常、フィードのコンテンツは新しいアイテムが公開されたときにのみ変更されるため、ほとんどの場合、フィード内のpubDateからの最新のitems値になります。ただし、チャンネルのタイトルや説明などを変更するなど、チャンネル自体に変更を加えた日付である可能性もあります。

5
Chris Pratt

lastBuildDateは、エントリが最後に変更された日時を指定します。 pubDateは、実際の発行日時を指定します。

これらがほぼ同じであると見なされる理由は、RSSフィードを取得するまでに、記事が編集されていないためです。

残念ながら、これに関するRSS仕様は見つかりませんが、それが何であるかはかなり前向きです。

4
Bartek

RSS 2.0仕様 では、ほぼ同等のようです。

lastBuildDate:

チャンネルのコンテンツが最後に変更されたとき。

pubDate:

チャネル内のコンテンツの公開日。 .。

違いは微妙です。使用された方法について教えてくれます。の場合には <pubDate>、チャンネルは手動または一定期間で公開されます。の場合には <lastBuildDate>、チャンネルはウェブサイトに新しい記事が追加されると自動的に構築され、新しいアイテムとして追加されます。

3
Vlasec

ここにある他の回答はいくつかの良い情報を提供しますが、将来の訪問者のために少し詳しく説明する必要があると感じています。

pubDate
チャンネルのコンテンツの公開日。たとえば、New York Timesは毎日発行しており、発行日は24時間に1回反転します。そのとき、チャネルのpubDateが変更されます。

lastBuildDate
チャンネルのコンテンツが最後に変更されたとき。

したがって、ニューヨークタイムズをもう一度例にとると、<pubDate>はフィードが公開された日付であり、<lastBuildDate>はフィード内のコンテンツが変更された日付です。結局、私は<pubDate>をフィードが公開された日付と見なし、<lastBuildDate>をフィード内のコンテンツが最後に変更された日付と見なします。

0
soycharliente