## What is It? RSS, which stands for Really Simple Syndication, is a web feed format used to publish frequently updated content such as news articles, blog posts, and podcast episodes in a standardized format. An RSS feed allows users to access updates to online content in a standardized, computer-readable format, enabling easy distribution and consumption through RSS readers or aggregators. ```xml <?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>RSS Title</title> <description>This is an example of an RSS feed</description> <link>http://www.example.com/main.html</link> <copyright>2020 Example.com All rights reserved</copyright> <lastBuildDate>Mon, 6 Sep 2010 00:01:00 +0000</lastBuildDate> <pubDate>Sun, 6 Sep 2009 16:20:00 +0000</pubDate> <ttl>1800</ttl> <item> <title>Example entry</title> <description>Here is some text containing an interesting description.</description> <link>http://www.example.com/blog/post/1</link> <guid isPermaLink="false">7bd204c6-1655-4c27-aeee-53f933c5395f</guid> <pubDate>Sun, 6 Sep 2009 16:20:00 +0000</pubDate> </item> </channel> </rss> ``` the `rss.xml` in `yomaru.dev`: ```xml <rss version="2.0"> <channel> <title>Hananoshika Yomaru</title> <link>https://yomaru.dev/</link> <description>Hananoshika Yomaru RSS</description> <item> <title>Sites resources</title> <link>https://yomaru.dev/900+Others/Sites+resources</link> </item> <item> <title>My blog</title> <link>https://yomaru.dev/400+Lifestyle/My+blog</link> </item> <item> <title>904 ✴️ Index</title> <link>https://yomaru.dev/904+%E2%9C%B4%EF%B8%8F+Index</link> </item> <item> <title>902 🙆‍♂️ About me</title> <link>https://yomaru.dev/902+%F0%9F%99%86%E2%80%8D%E2%99%82%EF%B8%8F+About+me</link> </item> <item> <title>901 🏠 Home</title> <link>https://yomaru.dev/901+%F0%9F%8F%A0+Home</link> </item> <item> <title>🛠️ My TechStack</title> <link>https://yomaru.dev/000+Featured/%F0%9F%9B%A0%EF%B8%8F+My+TechStack</link> </item> <item> <title>🧘 My guiding principles for Life</title> <link>https://yomaru.dev/000+Featured/%F0%9F%A7%98+My+guiding+principles+for+Life</link> </item> ... ``` > [!question] the item has no last build date or updated time, how can rss reader knows the article already been fetched? > > RSS readers primarily use the `<link>` element within each `<item>` to determine if an article has already been fetched. Here's how it typically works: > > 1. **Unique Links as Identifiers:** > - Each `<item>` in your RSS feed has a unique `<link>` element. RSS readers use these links to identify individual articles. When an RSS reader fetches your feed, it stores the links of the articles it has already retrieved. > > 2. **Checking for New Articles:** > - On subsequent updates, the RSS reader checks the links in the feed against the links it has stored. If it finds a link that it hasn't seen before, it treats the corresponding article as new and fetches it. > > 3. **Limitations Without Dates:** > - Without `<pubDate>` (publication date) or `<lastBuildDate>` elements, the RSS reader cannot tell if an article has been updated unless the `<link>` changes. Readers rely on these date elements to recognize updated or re-published content. Without them, updates to existing articles might not be detected unless the URL changes. > > 4. **Best Practice:** > - It's a good practice to include `<pubDate>` tags in your `<item>` elements. This helps RSS readers and users know when the content was published or updated, making the feed more useful and easier to manage. > > 5. **Manual Refreshes:** > - Users can typically refresh their RSS readers manually. If a reader only checks for new links, it might miss updates to existing articles unless the user performs a manual refresh. > > In summary, while your RSS feed can function without `<pubDate>` or `<lastBuildDate>` elements, including them is recommended for better user experience and to ensure updates to existing articles are properly recognized. > [!info] read more: > 1. [[RSS vs Atom]] > 2. [RSS - Wikipedia](https://en.wikipedia.org/wiki/RSS)