notes
Tools

RSS

サイトの更新情報を XML で配信する pull 型の仕組み。feed reader で複数サイトの更新を 1 か所で追える、アルゴリズム・cookie なし

要点: サイトの更新を XML で書き出しておき、購読者側の feed reader が定期的に取りに行って差分表示する pull 型の仕組み。account 不要、アルゴリズム介在なし、cookie 不要。

仕組み#

発行者側:
  記事更新 → /rss.xml に最新一覧を書き出す (静的でも動的でも可)

購読者側:
  feed reader が定期的に /rss.xml を fetch
    → 前回との差分を検出
    → reader 内で一覧・本文表示
    → 未読管理

主要な feed reader#

プラットフォーム例
WebFeedly、Inoreader、NewsBlur、The Old Reader
iOSReeder、NetNewsWire、Fiery Feeds
AndroidFeedly、FeedMe、Read You
DesktopNetNewsWire (Mac)、Vienna、RSSOwl (Linux)

主要な形式#

形式特徴
RSS 2.0最も普及、XML
Atomよりクリーンな XML 仕様、機能同等
JSON Feed新しい、JSON ベース、reader 対応まだ薄い

Feed reader は通常 3 種全部を扱える。

特性#

  • アルゴリズムなし: 時系列でそのまま表示、SNS のような介入がない
  • プライバシー: 発行者は誰が購読してるか分からない (認証も不要)
  • オフライン: reader がキャッシュするので通信なしで読める
  • 一元管理: 複数サイトを 1 アプリで追える
  • 通知が軽い: メール登録より圧倒的にオーバーヘッド少

用途#

用途Feed URL 例
ブログ個人ブログの /feed, /rss.xml, /atom.xml
ニュースNYT, BBC, Hacker News 等
PodcastApple Podcasts / Spotify の裏側は RSS + audio enclosure
GitHub Releasesgithub.com/owner/repo/releases.atom
YouTube チャンネルyoutube.com/feeds/videos.xml?channel_id=...
Docs サイト更新告知 (このサイトも /rss.xml)

Podcast との関係#

Podcast の購読 (Apple Podcasts, Spotify, Overcast など) の裏側は RSS フィード。番組が RSS XML に音声ファイルの URL (<enclosure> タグ) を含めて publish しているだけで、購読基盤は RSS そのもの。

発行側の実装 (簡易版)#

静的サイトなら XML 手動生成 or generator。動的なら route handler で生成。例 (Node.js):

const xml = `<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
  <title>My site</title>
  <link>https://example.com</link>
  <description>...</description>
  ${posts.map(p => `
  <item>
    <title>${escape(p.title)}</title>
    <link>${p.url}</link>
    <guid>${p.url}</guid>
    <pubDate>${p.date.toUTCString()}</pubDate>
    <description>${escape(p.summary)}</description>
  </item>`).join('')}
</channel>
</rss>`;

関連#

最終更新:

On this page