## 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)