(Wikipedia) - RSS For other uses, see RSS (disambiguation). For RSS feeds from Wikipedia, see Wikipedia:Syndication.
RSS - Rich Site Summary User interface of a feed reader
|.rss, .xml |
Internet media type
|application/rss+xml (registration not finished) |
Type of format
|Web syndication |
RSS (Rich Site Summary); originally RDF Site Summary; often called Really Simple Syndication, uses a family of standard web feed formats to publish frequently updated information: blog entries, news headlines, audio, video. An RSS document (called "feed", "web feed", or "channel") includes full or summarized text, and metadata, like publishing date and author''s name.
RSS feeds enable publishers to syndicate data automatically. A standard XML file format ensures compatibility with many different machines/programs. RSS feeds also benefit users who want to receive timely updates from favourite websites or to aggregate data from many sites.
Subscribing to a website RSS removes the need for the user to manually check the website for new content. Instead, their browser constantly monitors the site and informs the user of any updates. The browser can also be commanded to automatically download the new data for the user.
Software termed "RSS reader", "aggregator", or "feed reader", which can be web-based, desktop-based, or mobile-device-based, present RSS feed data to users. Users subscribe to feeds either by entering a feed''s URI into the reader or by clicking on the browser''s feed icon. The RSS reader checks the user''s feeds regularly for new information and can automatically download it, if that function is enabled. The reader also provides a user interface. Contents
- 1 History
- 2 Example
- 3 Variants
- 4 Modules
- 5 Interoperability
- 6 BitTorrent and RSS
- 7 RSS Compared to Atom
- 8 See also
- 9 References
- 10 External links
Main article: History of web syndication technology
| ||This section is outdated. Please update this article to reflect recent events or newly available information. (October 2013) |
The RSS formats were preceded by several attempts at web syndication that did not achieve widespread popularity. The basic idea of restructuring information about websites goes back to as early as 1995, when Ramanathan V. Guha and others in Apple Computer''s Advanced Technology Group developed the Meta Content Framework.
RDF Site Summary, the first version of RSS, was created by Dan Libby and Ramanathan V. Guha at Netscape. It was released in March 1999 for use on the My.Netscape.Com portal. This version became known as RSS 0.9. In July 1999, Dan Libby of Netscape produced a new version, RSS 0.91, which simplified the format by removing RDF elements and incorporating elements from Dave Winer''s news syndication format. Libby also renamed the format from RDF to RSS Rich Site Summary and outlined further development of the format in a "futures document".
This would be Netscape''s last participation in RSS development for eight years. As RSS was being embraced by web publishers who wanted their feeds to be used on My.Netscape.Com and other early RSS portals, Netscape dropped RSS support from My.Netscape.Com in April 2001 during new owner AOL''s restructuring of the company, also removing documentation and tools that supported the format.
Two parties emerged to fill the void, with neither Netscape''s help nor approval: The RSS-DEV Working Group and Dave Winer, whose UserLand Software had published some of the first publishing tools outside of Netscape that could read and write RSS.
Winer published a modified version of the RSS 0.91 specification on the UserLand website, covering how it was being used in his company''s products, and claimed copyright to the document. A few months later, UserLand filed a U.S. trademark registration for RSS, but failed to respond to a USPTO trademark examiner''s request and the request was rejected in December 2001.
The RSS-DEV Working Group, a project whose members included Guha and representatives of O''Reilly Media and Moreover, produced RSS 1.0 in December 2000. This new version, which reclaimed the name RDF Site Summary from RSS 0.9, reintroduced support for RDF and added XML namespaces support, adopting elements from standard metadata vocabularies such as Dublin Core.
In December 2000, Winer released RSS 0.92 a minor set of changes aside from the introduction of the enclosure element, which permitted audio files to be carried in RSS feeds and helped spark podcasting. He also released drafts of RSS 0.93 and RSS 0.94 that were subsequently withdrawn.
In September 2002, Winer released a major new version of the format, RSS 2.0, that redubbed its initials Really Simple Syndication. RSS 2.0 removed the type attribute added in the RSS 0.94 draft and added support for namespaces. To preserve backward compatibility with RSS 0.92, namespace support applies only to other content included within an RSS 2.0 feed, not the RSS 2.0 elements themselves. (Although other standards such as Atom attempt to correct this limitation, RSS feeds are not aggregated with other content often enough to shift the popularity from RSS to other formats having full namespace support.)
Because neither Winer nor the RSS-DEV Working Group had Netscape''s involvement, they could not make an official claim on the RSS name or format. This has fueled ongoing controversy in the syndication development community as to which entity was the proper publisher of RSS.
One product of that contentious debate was the creation of an alternative syndication format, Atom, that began in June 2003. The Atom syndication format, whose creation was in part motivated by a desire to get a clean start free of the issues surrounding RSS, has been adopted as IETF Proposed Standard RFC 4287.
In July 2003, Winer and UserLand Software assigned the copyright of the RSS 2.0 specification to Harvard''s Berkman Center for Internet & Society, where he had just begun a term as a visiting fellow. At the same time, Winer launched the RSS Advisory Board with Brent Simmons and Jon Udell, a group whose purpose was to maintain and publish the specification and answer questions about the format.
In September 2004, Stephen Horlander created the now ubiquitous RSS icon () for use in the Mozilla Firefox browser.
In December 2005, the Microsoft Internet Explorer team and Microsoft Outlook team announced on their blogs that they were adopting Firefox''s RSS icon. In February 2006, Opera Software followed suit. This effectively made the orange square with white radio waves the industry standard for RSS and Atom feeds, replacing the large variety of icons and text that had been used previously to identify syndication data.
In January 2006, Rogers Cadenhead relaunched the RSS Advisory Board without Dave Winer''s participation, with a stated desire to continue the development of the RSS format and resolve ambiguities. In June 2007, the board revised their version of the specification to confirm that namespaces may extend core elements with namespace attributes, as Microsoft has done in Internet Explorer 7. According to their view, a difference of interpretation left publishers unsure of whether this was permitted or forbidden. Example
RSS files are essentially XML formatted plain text. The RSS file itself is relatively easy to read both by automated processes and by humans alike. An example file could have contents such as the following. This could be placed on any appropriate communication protocol for file retrieval, such as http or ftp, and reading software would use the information to present a neat display to the end users.<?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> <lastBuildDate>Mon, 06 Sep 2010 00:01:00 +0000 </lastBuildDate> <pubDate>Sun, 06 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>7bd204c6-1655-4c27-aeee-53f933c5395f</guid> <pubDate>Sun, 06 Sep 2009 16:20:00 +0000</pubDate> </item> </channel> </rss>Variants
There are several different versions of RSS, falling into two major branches (RDF and 2.*).
The RDF (or RSS 1.*) branch includes the following versions:
- RSS 0.90 was the original Netscape RSS version. This RSS was called RDF Site Summary, but was based on an early working draft of the RDF standard, and was not compatible with the final RDF Recommendation.
- RSS 1.0 is an open format by the RSS-DEV Working Group, again standing for RDF Site Summary. RSS 1.0 is an RDF format like RSS 0.90, but not fully compatible with it, since 1.0 is based on the final RDF 1.0 Recommendation.
- RSS 1.1 is also an open format and is intended to update and replace RSS 1.0. The specification is an independent draft not supported or endorsed in any way by the RSS-Dev Working Group or any other organization.
The RSS 2.* branch (initially UserLand, now Harvard) includes the following versions:
- RSS 0.91 is the simplified RSS version released by Netscape, and also the version number of the simplified version originally championed by Dave Winer from Userland Software. The Netscape version was now called Rich Site Summary; this was no longer an RDF format, but was relatively easy to use.
- RSS 0.92 through 0.94 are expansions of the RSS 0.91 format, which are mostly compatible with each other and with Winer''s version of RSS 0.91, but are not compatible with RSS 0.90.
- RSS 2.0.1 has the internal version number 2.0. RSS 2.0.1 was proclaimed to be "frozen", but still updated shortly after release without changing the version number. RSS now stood for Really Simple Syndication. The major change in this version is an explicit extension mechanism using XML namespaces.
Later versions in each branch are backward-compatible with earlier versions (aside from non-conformant RDF syntax in 0.90), and both versions include properly documented extension mechanisms using XML Namespaces, either directly (in the 2.* branch) or through RDF (in the 1.* branch). Most syndication software supports both branches. "The Myth of RSS Compatibility", an article written in 2004 by RSS critic and Atom advocate Mark Pilgrim, discusses RSS version compatibility issues in more detail.
The extension mechanisms make it possible for each branch to track innovations in the other. For example, the RSS 2.* branch was the first to support enclosures, making it the current leading choice for podcasting, and as of 2005 is the format supported for that use by iTunes and other podcasting software; however, an enclosure extension is now available for the RSS 1.* branch, mod_enclosure. Likewise, the RSS 2.* core specification does not support providing full-text in addition to a synopsis, but the RSS 1.* markup can be (and often is) used as an extension. There are also several common outside extension packages available, including a new proposal from Microsoft for use in Internet Explorer 7.
The most serious compatibility problem is with HTML markup. Userland''s RSS reader—generally considered as the reference implementation—did not originally filter out HTML markup from feeds. As a result, publishers began placing HTML markup into the titles and descriptions of items in their RSS feeds. This behavior has become expected of readers, to the point of becoming a de facto standard, though there is still some inconsistency in how software handles this markup, particularly in titles. The RSS 2.0 specification was later updated to include examples of entity-encoded HTML; however, all prior plain text usages remain valid.
As of January 2007, tracking data from www.syndic8.com indicates that the three main versions of RSS in current use are 0.91, 1.0, and 2.0, constituting 13%, 17%, and 67% of worldwide RSS usage, respectively. These figures, however, do not include usage of the rival web feed format Atom. As of August 2008, the syndic8.com website is indexing 546,069 total feeds, of which 86,496 were some dialect of Atom and 438,102 were some dialect of RSS. Modules
The primary objective of all RSS modules is to extend the basic XML schema established for more robust syndication of content. This inherently allows for more diverse, yet standardized, transactions without modifying the core RSS specification.
To accomplish this extension, a tightly controlled vocabulary (in the RSS world, "module"; in the XML world, "schema") is declared through an XML namespace to give names to concepts and relationships between those concepts.
Some RSS 2.0 modules with established namespaces are:
- Media RSS 2.0 Module (Dead Link)
- OpenSearch RSS 2.0 Module
Although the number of items in an RSS channel are theoretically not limited, some news aggregators do not support RSS files larger than 150KB. For example, applications that rely on the Common Feed List of Windows might handle such files as if they were corrupt, and not open them. Interoperability can be maximized by keeping the file size under this limit. BitTorrent and RSS
Some BitTorrent clients support RSS. RSS feeds which provide links to .torrent files allow users to subscribe and automatically download content as soon as it is published. RSS Compared to Atom
Both RSS and Atom are widely supported and are compatible with all major consumer feed readers. RSS gained wider use because of early feed reader support. But, technically, Atom is more advanced and has several advantages: less restrictive licensing, IANA registered MIME type, XML namespace, URI support, Relax NG support.
The following table shows RSS elements alongside Atom elements where they are equivalent. Note: the asterisk character (*) indicates that an element must be provided except for Atom elements "author" and "link" which are only required under certain conditions.
RSS 2.0 Atom 1.0
|author ||author* |
|category ||category |
|channel ||feed |
|copyright ||rights |
|description ||subtitle |
|description* ||summary and/or content |
|generator ||generator |
|guid ||id* |
|image ||logo |
|item ||entry |
|lastBuildDate (in channel) ||updated* |
|link* ||link* |
|managingEditor ||author or contributor |
|pubDate ||published (subelement of entry) |
|title* ||title* |
|ttl ||- |