RSS
Dan Tobias (Talk | contribs) |
Dan Tobias (Talk | contribs) (→Sample files) |
||
(22 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
|mimetypes={{mimetype|application/rss+xml}} | |mimetypes={{mimetype|application/rss+xml}} | ||
|released=1999 | |released=1999 | ||
+ | |image=RSS icon large.png | ||
}} | }} | ||
− | + | '''[[RSS]]''' (Rich Site Summary, RDF Site Summary, Really Simple Syndication) is a popular [[XML]]-based format (or, rather, group of formats) for providing feeds of content such as news articles, blog posts, podcasts, or, really, anything that can be distributed on the web which has updates for which an audience wishes notification. Unfortunately, there is a bewildering array of not-quite-compatible versions of RSS, and a good deal of squabbling over which version is the "real" one and who should be considered the "official" entity in charge of its development and standardization. | |
− | '''RSS''' (Rich Site Summary, RDF Site Summary, Really Simple Syndication) is a popular [[XML]]-based format (or, rather, group of formats) for providing feeds of content such as news articles, blog posts, podcasts, or, really, anything that can be distributed on the web which has updates for which an audience wishes notification. Unfortunately, there is a bewildering array of not-quite-compatible versions of RSS, and a good deal of squabbling over which version is the "real" one and who should be considered the "official" entity in charge of its development and standardization. | + | |
== History == | == History == | ||
Line 21: | Line 21: | ||
These versions differ in all sorts of details: whether or not they support RDF features, whether HTML tags are legal within various elements, and if so, should they be rendered as HTML or displayed as raw code, what set of character entities are supported, and so on. However, there are extension mechanisms by which developers are able to "port" their favorite features from one version into RSS code for another. RSS implementations end up supporting some sub- or superset of the various features without necessarily having any standards-based coherence. It's a mess. | These versions differ in all sorts of details: whether or not they support RDF features, whether HTML tags are legal within various elements, and if so, should they be rendered as HTML or displayed as raw code, what set of character entities are supported, and so on. However, there are extension mechanisms by which developers are able to "port" their favorite features from one version into RSS code for another. RSS implementations end up supporting some sub- or superset of the various features without necessarily having any standards-based coherence. It's a mess. | ||
− | To get away from the mess, some have championed an alternative feed format called [[Atom]]. | + | To get away from the mess (as well as any possible intellectual-property claims anybody might assert to RSS; Winer's group at one point attempted unsuccessfully to trademark the name), some have championed an alternative feed format called [[Atom]]. |
+ | |||
+ | == Uses == | ||
+ | |||
+ | Lots of software (browser plugins, standalone programs, etc.) will let you subscribe to RSS feeds and see the latest additions to your favorite sites, podcasts, etc. at a glance. iTunes uses RSS (version 2.0, with an iTunes-specific DTD) for podcasts; producers of a podcast maintain such a file on their site, pointing at the URLs of the audio files through the "enclosure" element, and submit the URL of the feed to Apple for inclusion in the iTunes store. | ||
+ | |||
+ | Up to 2013, Google Reader was a very popular service using RSS, but it was then discontinued. | ||
+ | |||
+ | == Versions == | ||
+ | |||
+ | Because of the multiple independent branches, versions were not actually released in the order implied by their numbers. | ||
+ | |||
+ | * 0.90 was the original Netscape spec, based on RDF (though it was a preliminary RDF version, so it wasn't actually compatible with the final RDF spec) | ||
+ | * 0.91 is a "simplified" version adopted by Netscape, dropping all reference to RDF | ||
+ | * 0.91 [another version with the same number] is Dave Winer's first version, mostly compatible with Netscape's RSS 0.91 (not RDF-based) | ||
+ | * 0.92 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based) | ||
+ | * 0.93 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based) | ||
+ | * 0.94 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based) | ||
+ | * 1.0 is the RSS-DEV Working Group version, based largely on the original 0.90 version (not the later 0.9x ones), but made to be compatible with the final RDF standard. | ||
+ | * 1.1 is an independently-developed draft intended to succeed 1.0. | ||
+ | * 2.0 was produced by Dave Winer's group, but then succeeded by 2.0.1 (which is still referred to as 2.0), and no formal spec to the original 2.0 is available (the spec under that label is actually for a later revision). | ||
+ | * 2.0.1 is a newer Dave Winer version, based on the 0.9x versions (not the 1.x ones which are in a separate branch), which has XML namespace extension mechanisms built in. There have been multiple 2.0.1 versions with no numbering change, despite a supposed "freeze" in this standard. | ||
+ | * 2.0.11 is what the current RSS 2.0 specs call the very latest version as of this writing. | ||
== File extension == | == File extension == | ||
Sometimes, a specific '''.rss''' extension is used for RSS feeds, while at other times it is stored in files with a generic '''.xml''' extension. | Sometimes, a specific '''.rss''' extension is used for RSS feeds, while at other times it is stored in files with a generic '''.xml''' extension. | ||
+ | |||
+ | == MIME type == | ||
+ | '''application/rss+xml''' is in common use, but has not actually succeeded in completing registration with IANA, perhaps due to all the confusion about which variety of RSS is actually "official". Sometimes it's served with a generic XML type, '''text/xml''', along with the .xml extension. | ||
== Standards == | == Standards == | ||
* [http://www.rssboard.org/rss-0-9-0 RSS 0.90 Specification] | * [http://www.rssboard.org/rss-0-9-0 RSS 0.90 Specification] | ||
* [http://www.rssboard.org/rss-0-9-1-netscape RSS 0.91 Specification] | * [http://www.rssboard.org/rss-0-9-1-netscape RSS 0.91 Specification] | ||
− | * [http://web.resource.org/rss/1.0/ RSS 1.0 | + | * [http://web.resource.org/rss/1.0/ RSS 1.0 Specification] |
+ | * [http://inamidst.com/rss1.1/ RSS 1.1 draft] | ||
* [http://www.rssboard.org/rss-specification RSS 2.0 Specification] | * [http://www.rssboard.org/rss-specification RSS 2.0 Specification] | ||
+ | * [http://tools.ietf.org/id/draft-nottingham-rss-media-type-00.txt Application for MIME type (2001 draft)] | ||
+ | |||
+ | == Validators == | ||
+ | * [http://feedvalidator.org/ Feed Validator] - validates various RSS and Atom versions | ||
+ | |||
+ | == Sample files == | ||
+ | * [http://rss.slashdot.org/Slashdot/slashdot Slashdot RSS feed] | ||
+ | * [https://ntww.dan.info/ntwwfeed.rss Not The Wikipedia Weekly podcast feed in iTunes format] | ||
+ | * [http://catless.ncl.ac.uk/risksrss1.xml Risks Digest RSS 1.0 full text feed] | ||
+ | * [http://catless.ncl.ac.uk/risksrss2.xml Risks Digest RSS 2.0 full text feed] | ||
+ | |||
+ | == Software == | ||
+ | * [http://www.rssreader.com/ RSS Reader] | ||
+ | * [http://www.rsspublisher.com/ RSS Publisher] | ||
+ | * [https://addons.mozilla.org/en-us/firefox/addon/simple-rss-reader-srr/ Simple RSS Reader for Firefox] | ||
+ | * [http://sagerss.com/ Sage RSS Reader for Firefox] | ||
+ | * [https://addons.mozilla.org/en-us/firefox/addon/feedly/ Feedly for Firefox] | ||
+ | * [https://chrome.google.com/webstore/detail/rss-feed-reader/pnjaodmkngahhkoihejjehlcdlnohgmp?hl=en RSS reader for Google Chrome] | ||
== Other links == | == Other links == | ||
Line 36: | Line 80: | ||
* [http://web.archive.org/web/20110718034619/http://diveintomark.org/archives/2002/09/06/history_of_the_rss_fork History of the RSS Fork] (Mark Pilgrim) | * [http://web.archive.org/web/20110718034619/http://diveintomark.org/archives/2002/09/06/history_of_the_rss_fork History of the RSS Fork] (Mark Pilgrim) | ||
* [http://web.archive.org/web/20110726002019/http://diveintomark.org/archives/2004/02/04/incompatible-rss The myth of RSS compatibility] | * [http://web.archive.org/web/20110726002019/http://diveintomark.org/archives/2004/02/04/incompatible-rss The myth of RSS compatibility] | ||
+ | * [http://www.apple.com/itunes/podcasts/specs.html iTunes podcast specs (including their version of RSS format)] | ||
+ | * [http://www.theverge.com/2013/3/14/4105006/why-rss-still-matters Why RSS still matters] | ||
+ | * [http://boingboing.net/2013/03/14/google-shutting-down-google-re.html?utm_source=dlvr.it Google shutting down Google Reader; where should we go next?] | ||
+ | * [http://www.replacereader.com/ ReplaceReader: suggestions of RSS readers] | ||
+ | * [http://boingboing.net/2014/01/03/kickstarting-operator-a-censo.html Kickstarting Operator: a censorship-resistant, shape-shifting newsreader] | ||
+ | |||
+ | [[Category:XML based file formats]] | ||
+ | [[Category:Netscape]] |
Latest revision as of 00:00, 12 February 2020
RSS (Rich Site Summary, RDF Site Summary, Really Simple Syndication) is a popular XML-based format (or, rather, group of formats) for providing feeds of content such as news articles, blog posts, podcasts, or, really, anything that can be distributed on the web which has updates for which an audience wishes notification. Unfortunately, there is a bewildering array of not-quite-compatible versions of RSS, and a good deal of squabbling over which version is the "real" one and who should be considered the "official" entity in charge of its development and standardization.
Contents |
[edit] History
RSS was originated at Netscape in the late 1990s for use on its "portal" page, my.netscape.com. (This was in the era when just about every website was trying to be a "portal", with everything under the sun from weather reports to stock quotes embedded right into the front page, and user-customizable.) The idea was that sites could make their headlines and article descriptions, with links to the full article in the original site, available in a standardized format so they could be included on the portal page. The format was initially adapted as a variety of RDF, which in turn was XML-based. With Netscape promoting it, a number of sites began using it, and some tools for dealing with RSS feeds were produced by independent developers.
However, Netscape later pulled the rug out from under the RSS world by abruptly dumping all support for the format. By then they had been acquired by AOL (gag, vomit, retch), and whatever the heck the business model was for Netscape under this management, it apparently didn't include providing a standardized format for outside sites to put their content in a Netscape portal.
But by then there was enough third-party use of RSS that it kept on going even without corporate support. However, there was no clear line of succession to any "official" developer, since Netscape was pretending RSS never existed, and not making any sort of arrangements to hand it off to somebody else who actually cared about it. Two different groups stepped into the void by developing their own RSS standards, independently of one another and of Netscape. One was led by Dave Winer (who had created some RSS tools previously for UserLand Software), and the other, the RSS-DEV Working Group, was a non-profit coalition involving a number of individuals (including the late Aaron Swartz). Each of these groups has released a series of versions of the RDF standard, making two major "forks" (usually regarded as "1.x" for the RSS-DEV version and "2.x" for the Dave Winer version by what was later known as the RSS Advisory Board, due to the version numbering used). The original Netscape versions were numbered in the 0.9 sequence, and a few more 0.9 versions were released as part of what eventually became the "2.x" fork, just to confuse things even more.
Yet another version, the proposed RSS 1.1 spec, is a draft not actually produced or endorsed by any of the organizations involved in the tangled history of RSS.
These versions differ in all sorts of details: whether or not they support RDF features, whether HTML tags are legal within various elements, and if so, should they be rendered as HTML or displayed as raw code, what set of character entities are supported, and so on. However, there are extension mechanisms by which developers are able to "port" their favorite features from one version into RSS code for another. RSS implementations end up supporting some sub- or superset of the various features without necessarily having any standards-based coherence. It's a mess.
To get away from the mess (as well as any possible intellectual-property claims anybody might assert to RSS; Winer's group at one point attempted unsuccessfully to trademark the name), some have championed an alternative feed format called Atom.
[edit] Uses
Lots of software (browser plugins, standalone programs, etc.) will let you subscribe to RSS feeds and see the latest additions to your favorite sites, podcasts, etc. at a glance. iTunes uses RSS (version 2.0, with an iTunes-specific DTD) for podcasts; producers of a podcast maintain such a file on their site, pointing at the URLs of the audio files through the "enclosure" element, and submit the URL of the feed to Apple for inclusion in the iTunes store.
Up to 2013, Google Reader was a very popular service using RSS, but it was then discontinued.
[edit] Versions
Because of the multiple independent branches, versions were not actually released in the order implied by their numbers.
- 0.90 was the original Netscape spec, based on RDF (though it was a preliminary RDF version, so it wasn't actually compatible with the final RDF spec)
- 0.91 is a "simplified" version adopted by Netscape, dropping all reference to RDF
- 0.91 [another version with the same number] is Dave Winer's first version, mostly compatible with Netscape's RSS 0.91 (not RDF-based)
- 0.92 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based)
- 0.93 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based)
- 0.94 is a later Dave Winer release, mostly compatible with 0.91 (not RDF-based)
- 1.0 is the RSS-DEV Working Group version, based largely on the original 0.90 version (not the later 0.9x ones), but made to be compatible with the final RDF standard.
- 1.1 is an independently-developed draft intended to succeed 1.0.
- 2.0 was produced by Dave Winer's group, but then succeeded by 2.0.1 (which is still referred to as 2.0), and no formal spec to the original 2.0 is available (the spec under that label is actually for a later revision).
- 2.0.1 is a newer Dave Winer version, based on the 0.9x versions (not the 1.x ones which are in a separate branch), which has XML namespace extension mechanisms built in. There have been multiple 2.0.1 versions with no numbering change, despite a supposed "freeze" in this standard.
- 2.0.11 is what the current RSS 2.0 specs call the very latest version as of this writing.
[edit] File extension
Sometimes, a specific .rss extension is used for RSS feeds, while at other times it is stored in files with a generic .xml extension.
[edit] MIME type
application/rss+xml is in common use, but has not actually succeeded in completing registration with IANA, perhaps due to all the confusion about which variety of RSS is actually "official". Sometimes it's served with a generic XML type, text/xml, along with the .xml extension.
[edit] Standards
- RSS 0.90 Specification
- RSS 0.91 Specification
- RSS 1.0 Specification
- RSS 1.1 draft
- RSS 2.0 Specification
- Application for MIME type (2001 draft)
[edit] Validators
- Feed Validator - validates various RSS and Atom versions
[edit] Sample files
- Slashdot RSS feed
- Not The Wikipedia Weekly podcast feed in iTunes format
- Risks Digest RSS 1.0 full text feed
- Risks Digest RSS 2.0 full text feed
[edit] Software
- RSS Reader
- RSS Publisher
- Simple RSS Reader for Firefox
- Sage RSS Reader for Firefox
- Feedly for Firefox
- RSS reader for Google Chrome
[edit] Other links
- Wikipedia article
- History of the RSS Fork (Mark Pilgrim)
- The myth of RSS compatibility
- iTunes podcast specs (including their version of RSS format)
- Why RSS still matters
- Google shutting down Google Reader; where should we go next?
- ReplaceReader: suggestions of RSS readers
- Kickstarting Operator: a censorship-resistant, shape-shifting newsreader