What is RSS

이 문서는 RSS가 무엇인지 설명하기 위해 만들어졌습니다. 여러분은 아직 RSS를 만들어 본 적이 없으실 겁니다. 그렇지만 RSS를 어떻게 사용하는 지 아시기도 하고, 간단한 샘플 파일을 보신적이 있으실 겁니다. RSS가 무엇이고 어떻게 만들어진 것인지 한번 알아보겠습니다.

RSS란 무엇인가?

가장 많이 이용하는 RSS 2.0 버전은 데이터 연결을 위해 사용하는 XML기반 마크업 언어 입니다. -based markup languages used for syndication. (RDF를 기반하는 RSS 형식도 존재합니다. 이미 사라진 RSS 0.90RSS 1.0 처럼 말이죠.) RSS를 주로 사용하는 곳은 웹 사이트 최신 소식이나 블로그, 인터넷 라디오나 TV 등의 뉴스를 전달하는 역할을 합니다.

이 문서는 RSS 2.0을 다룹니다. 물론 다른 RSS 버전에 대한 주의 사항도 함께 다루게 됩니다..

RSS는 손으로 만들지는 않습니다. 거의 서버쪽 프로그램에 의해 자동으로 만들어 집니다(PHP나 Java, C# 및 Python 같은 언어로 만들어진 것이죠.) 그러나 RSS를 배우려면 손으로 한번 RSS 스크립트를 만들 필요가 있습니다.

RSS에 대한 간단한 역사

In March of 1999 Netscape released RSS 0.90. It was much much different than today's RSS. It wasn't really a format for syndication, but was a format for providing a summary of a website. In fact, back then, RSS did not stand for Really Simple Syndication but stood for Rich Site Summary.

In July of 1999 Netscape's RSS 0.91 was released. Like RSS 0.90, Netscape's RSS 0.91 was also a format for providing a summary of a website, and not really a syndication format (as it is today). Netscape's RSS 0.91 was created to simplify things. RSS 0.90 was RDF-based. (Which many found to be overly complex.) Netscape's RSS 0.91 was only XML-based and added a DTD to allow several entities (commonly found in HTML).

So at this point Netscape deprecated the RDF-based RSS 0.90 and told everyone to use Netscape's RSS 0.91, which was XML-based.

In June of 2000 Userland's RSS 0.91 was released. (And yes, that means that there are 2 different version of RSS 0.91.) The difference between the 2 different versions of RSS 0.91 -- Netscape's RSS 0.91 and Userland's RSS 0.91 -- is that Userland's RSS 0.91 does not have the DTD that Netscape's RSS 0.91 has; and thus doesn't have the extra entities that Netscape's RSS 0.91 has (commonly found in HTML). Other than that though, they are the same. Technically speaking, Userland's RSS 0.91 is a subset of Netscape's RSS 0.91.

In December of 2000 the RSS-DEV working group released RSS 1.0. This version of RSS was no longer purely XML-based, but was RDF-based (like the original and now deprecated RSS 0.90). The RSS-DEV working group changed what RSS stood for, and made it stand for RDF Site Summary. (At least, this is what it stood for in their version of RSS.)

So at this point we had Netscape's RSS 0.91, Userland's RSS 0.91, and the RSS-DEV working group's RSS 1.0.

Later that same December Userland released RSS 0.92. RSS 0.92 was meant to replace Userland's RSS 0.91. (If you notice though, the RSS versioning number got all messed up at this point. RSS 0.92 is newer than RSS 1.0.)

So at this point we had Netscape's RSS 0.91, the RSS-DEV working group's RSS 1.0, and Userland's RSS 0.92.

In April 2001 Userland released a draft for RSS 0.93. This version of RSS was never made "final" and was only ever a draft, and never became a replacement for Userland's RSS 0.92.

In August 2002 Userland released a draft for RSS 0.94. Like RSS 0.93, this version of RSS was never made "final" and was only ever a draft, and never became a replacement for Userland's RSS 0.92.

So at this point we still had Netscape's RSS 0.91, the RSS-DEV working group's RSS 1.0, and Userland's RSS 0.92. (Although some were using RSS 0.93 and RSS 0.94 even though they weren't suppose to.)

In September 2002 Userland released RSS 2.0. RSS 2.0 was meant to be a replacement for RSS 0.92 (and the RSS 0.93 and RSS 0.94 drafts that no one was suppose to use). Userland bumped up the version number all the way up to 2.0 because the RSS-DEV working group already used 1.0 with their RDF-based RSS 1.0.

So at this point we had Netscape's RSS 0.91, the RSS-DEV working group's RSS 1.0, and Userland's RSS 2.0.

Now, the story does not quite end there. Once in November 2002 and another time in January 2003, RSS 2.0 was changed from its original specification, by Userland. And although these are each are different, they all label themselves as RSS 2.0 on the <rss> element.

So now, at this point, we still have Netscape's RSS 0.91 (since Netscape never deprecated it) although most people don't use it anymore. Most people use either the RDF-based RSS 1.0 or the XML-based RSS 2.0. With the XML-based RSS 2.0 seeming to be the most popular. (This tutorial uses RSS 2.0.)

How RSS is Used Today

Today, RSS is mostly used for syndication. Syndication is the process of telling others that you have content for them to consume. In other words, when you syndicate, you are telling everyone something like: "Hey everyone, I've got articles that I want everyone to come and read. Just subscribe to my RSS feed and you will be able to get the latest ones all the time.".

NOTE: If you provide a non-password-protected RSS feed, you are implicitly giving everyone permission to use the contents in you RSS feed in almost any way they see fit. They can read it. The can make local copies of it. They can share that local copy. They can put it on their web site. They can even re-syndicated it. And more.

If you don't want any of that done, then don't put it in a non-password-protected RSS feed. (And don't make the password public of course.)

News web sites use RSS to provide everyone with a list of their newest articles. For example:

   
    <?xml version="1.0"?>

    <rss version="2.0">
    
        <channel>
            <title>Example News Site</title>
            <description>This is an Example News Site.</description>
            <lastBuildDate>Wed, 27 Jul 2005 00:30:30 -0700</lastBuildDate>
            <link>http://news.example.com/</link>

            <item>
                <title>News Flash: I Like Bread</title>
                <guid isPermaLink="false">4d4a0a12-f188-4c97-908b-eea27213c2fe</guid>
                <pubDate>Wed, 27 Jul 2005 00:30:30 -0700</pubDate>
                <link>http://news.example.com/artcle/554</link>
            </item>
            <item>
                <title>Big News Today: Birds Fly</title>
                <guid isPermaLink="false">c4a63f09-b45b-466b-8773-6ff264001ab7</guid>
                <pubDate>Tue, 19 Jul 2005 04:32:51 -0700</pubDate>
                <link>http://news.example.com/artcle/553</link>
            </item>
            <item>
                <title>Fire is Hot</title>
                <guid isPermaLink="false">c1795324-d5ea-44fa-95b1-b5ce2090d4f1</guid>
                <pubDate>Sun, 15 May 2005 13:02:08 -0700</pubDate>
                <link>http://news.example.com/artcle/552</link>
            </item>
        </channel>
    
    </rss>
    

Bloggers use RSS to provide everyone with a list of their newest blog posts. For example:

   
    <?xml version="1.0"?>

    <rss version="2.0">
    
        <channel>
            <title>Joe Blow's Blog</title>
            <description>This is the Weblog of Joe Blow</description>
            <lastBuildDate>Sun, 15 May 2005 13:02:08 -0500</lastBuildDate>
            <link>http://joe-blow.example.net/</link>

            <item>
                <title>I Be Blogging...</title>
                <guid>http://joe-blow.example.net/log/21</guid>
                <pubDate>Sun, 15 May 2005 13:02:08 -0500</pubDate>
                <link>http://joe-blow.example.net/log/21</link>
            </item>
            <item>
                <title>I am so SMRT</title>
                <guid>http://joe-blow.example.net/log/20</guid>
                <pubDate>Sat, 14 May 2005 22:19:18 -0500</pubDate>
                <link>http://joe-blow.example.net/log/20</link>
            </item>
            <item>
                <title>Huh?</title>
                <guid>http://joe-blow.example.net/log/19</guid>
                <pubDate>Sat, 14 May 2005 09:55:59 -0500</pubDate>
                <link>http://joe-blow.example.net/log/19</link>
            </item>
            <item>
                <title>Black Cat Spotted</title>
                <guid>http://joe-blow.example.net/log/18</guid>
                <pubDate>Fri, 13 May 2005 13:13:13 -0500</pubDate>
                <link>http://joe-blow.example.net/log/18</link>
            </item>
        </channel>
    
    </rss>
    

Those who create Internet Radio use RSS to allow users to broadcatch their shows. For example:

   
    <?xml version="1.0"?>

    <rss version="2.0">
    
        <channel>
            <title>Joe's IPradio Show</title>
            <description>The best IPradio Show on the Internet, staring Joe!</description>
            <lastBuildDate>Mon, 15 Aug 2005 16:12:37 -0400</lastBuildDate>
            <link>http://joe.ipradio.example.net/</link>

            <item>
                <title>I C UR Tan Line</title>
                <guid>http://joe.ipradio.example.net/show/55</guid>
                <pubDate>Mon, 15 Aug 2005 16:11:57 -0400</pubDate>
                <enclosure url="http://joe.ipradio.example.net/show/55"
                           length="4487216"
                           type="application/ogg"
                />
            </item>
            <item>
                <title>Car Care for Car Fanatics</title>
                <guid>http://joe.ipradio.example.net/show/54</guid>
                <pubDate>Mon, 8 Aug 2005 13:12:12 -0400</pubDate>
                <enclosure url="http://joe.ipradio.example.net/show/54"
                           length="4892178"
                           type="audio/x-mp3"
                />
            </item>
            <item>
                <title>Best Beaches in BC</title>
                <guid>http://joe.ipradio.example.net/show/53</guid>
                <pubDate>Mon, 1 Aug 2005 18:22:14 -0400</pubDate>
                <enclosure url="http://joe.ipradio.example.net/show/53"
                           length="3984215"
                           type="application/ogg"
                />
            </item>
        </channel>
    
    </rss>
    

NOTE: Broadcatching of Internet Radio is sometimes call Podcasting, IPradio, and Audio Blogging.

Those who create Internet Television use RSS to allow users to broadcatch their shows. For example:

   
    <?xml version="1.0"?>

    <rss version="2.0">
    
        <channel>
            <title>Kate's IPTV Show</title>
            <description>Watch it or else!  You know you want to.</description>
            <lastBuildDate>Tue, 23 Aug 2005 21:02:05 -0800</lastBuildDate>
            <link>http://katetv.example.com/</link>

            <item>
                <title>This is Fun</title>
                <guid>http://katetv.example.com/show/4</guid>
                <pubDate>Tue, 23 Aug 2005 21:02:05 -0800</pubDate>
                <enclosure url="http://katetv.example.com/show/4"
                           length="1911146"
                           type="application/ogg"
                />
            </item>
            <item>
                <title>Watch This</title>
                <guid>http://katetv.example.com/show/3</guid>
                <pubDate>Tue, 16 Aug 2005 16:11:57 -0400</pubDate>
                <enclosure url="http://katetv.example.com/show/3"
                           length="1387442"
                           type="application/ogg"
                />
            </item>
            <item>
                <title>It is me again</title>
                <guid>http://katetv.example.com/show/2</guid>
                <pubDate>Tue, 9 Aug 2005 13:12:12 -0400</pubDate>
                <enclosure url="http://katetv.example.com/show/2"
                           length="1894877"
                           type="video/mpeg"
                />
            </item>
            <item>
                <title>Hello</title>
                <guid>http://katetv.example.com/show/1</guid>
                <pubDate>Tue, 2 Aug 2005 18:22:14 -0400</pubDate>
                <enclosure url="http://katetv.example.com/show/1"
                           length="17442215"
                           type="application/ogg"
                />
            </item>
        </channel>
    
    </rss>
    

The observant reader may have noticed that the news web site and blogger examples were the same type of RSS. And also that the Internet Radio and Internet Television examples were the same type of RSS. In fact, the only real difference between the news/blogger RSS and the Internet Radio/Internet Television RSS is that the news/blogger RSS uses the <link> element and the Internet Radio/Internet Television RSS uses the <enclosure> element.

NOTE: These RSS examples are very very simple. And were designed to give you an idea about what RSS basically looks like. All these RSS examples are very minimal. When you create your own RSS feeds, you will likely want to make them more complex than these and include additional RSS elements and make use of the various RSS Modules.

문서 태그 및 공헌자

 이 페이지의 공헌자: teoli, Channy
 최종 변경: teoli,