More actions
imported>Unknown No edit summary |
(Repair batch-0003 pages from live compare) |
||
| Line 72: | Line 72: | ||
=== Extraction and Aggregation === | === Extraction and Aggregation === | ||
The only recognized form of RSS 2.0 is an | The only recognized form of RSS 2.0 is an <rss> document. | ||
Atom 1.0 allows standalone Atom Entry documents; these could be transferred | Atom 1.0 allows standalone Atom Entry documents; these could be transferred | ||
| Line 85: | Line 85: | ||
RSS 2.0 is not in an XML namespace but may contain elements from other XML namespaces. There is no central place where one can find out about many popular extensions, such as dc:creator and content:encoded. | RSS 2.0 is not in an XML namespace but may contain elements from other XML namespaces. There is no central place where one can find out about many popular extensions, such as dc:creator and content:encoded. | ||
Atom 1.0 is in [http://www.w3.org/2005/Atom an XML namespace] and may contain elements or attributes from other XML namespaces. There are specific guidelines on how to interpret extension elements. Additionally, there will be an IANA managed directory rel= values for | Atom 1.0 is in [http://www.w3.org/2005/Atom an XML namespace] and may contain elements or attributes from other XML namespaces. There are specific guidelines on how to interpret extension elements. Additionally, there will be an IANA managed directory rel= values for <link>. Finally, Atom 1.0 provides recommended extension points and guidance on how to interpret simple extensions. | ||
=== URIs === | === URIs === | ||
| Line 108: | Line 108: | ||
=== Language Tagging === | === Language Tagging === | ||
For identification of the language used in feeds, RSS 2.0 has its own | For identification of the language used in feeds, RSS 2.0 has its own <language> element, while Atom uses XML's built-in | ||
[http://www.w3.org/TR/REC-xml/#sec-lang-tag xml:lang] attribute. | [http://www.w3.org/TR/REC-xml/#sec-lang-tag xml:lang] attribute. | ||
| Line 309: | Line 309: | ||
| enclosure | | enclosure | ||
| - | | - | ||
| rel="enclosure" on | | rel="enclosure" on <link> in Atom | ||
|- | |- | ||
| guid | | guid | ||
| Line 317: | Line 317: | ||
| source | | source | ||
| - | | - | ||
| rel="via" on | | rel="via" on <link> in Atom | ||
|- | |- | ||
| - | | - | ||
| Line 331: | Line 331: | ||
* [http://www.intertwingly.net/slides/2003/rssQuickSummary.html RSS Quick Summary] | * [http://www.intertwingly.net/slides/2003/rssQuickSummary.html RSS Quick Summary] | ||
---- | ---- | ||
기술분류 | |||
Latest revision as of 00:29, 27 March 2026
- pragma section-numbers off
RSS and Atom
People who generate syndication feeds have a choice of feed formats. As of mid-2005, the two most likely candidates will be RSS 2.0 and Atom 1.0. The purpose of this page is to summarize, as clearly and simply as possible, the differences between the RSS 2.0 and Atom 1.0 syndication languages.
Toru Marumoto has produced a Japanese translation.
Major/Qualitative Differences
Deployment
2005/07/21: RSS 2.0 is widely deployed and Atom 1.0 only by a few early adopters, see KnownAtomFeeds and KnownAtomConsumers.
Specifications
The RSS 2.0 specification is copyrighted by Harvard University and is frozen. No significant changes can be made and it is intended that future work be done under a different name; Atom is one example of such work.
The Atom 1.0 specification (in the course of becoming an IETF standards track RFC) represents the consensus of the Atompub Working Group within the IETF, as reviewed and approved by the IETF community and the Internet Engineering Steering Group. The specification is structured in such a way that the IETF could conceivably issue further versions or revisions of this specification without breaking existing deployments, although there is no commitment, nor currently expressed interest, in doing so.
See the Extensibility section below for how each can be extended without changing the specifications themselves.
Publishing Protocols
There are two popular protocols widely used with RSS, MetaWeblog and Blogger. There are frequent reports of problems with interoperability and feature shortcomings.
The Atompub working group is in the late stages of developing the Atom Publishing Protocol, which is closely integrated with the Atom feed format and is based on the experience with the existing protocols.
Required Content
RSS 2.0 requires feed-level title, link, and description. RSS 2.0 does not require that any of the fields of individual items in a feed be present.
Atom 1.0 requires that both feeds and entries include a title (which may be empty), a unique identifier, and a last-updated timestamp.
Payload
RSS 2.0 may contain either plain text or escaped HTML, with no way to indicate which of the two is provided. Escaped HTML is ugly (for example, the string AT&T would be expressed as “AT&T”) and has been a source of difficulty for implementors. RSS 2.0 cannot contain actual well-formed XML markup, which reduces the re-usability of content.
Atom has a carefully-designed payload container. Content may be explicitly labeled as any one of:
- plain text, with no markup (the default)
- escaped HTML, like is commonly used with RSS 2.0
- well-formed, displayable XHTML markup
- some other XML vocabulary (There is no guarantee that the recipient will be able to do anything useful with such content)
- base64-encoded binary content (again, no guarantee)
- a pointer to Web content not included in the feed
Full or Partial Content
RSS 2.0 has a “description” element which is commonly used to contain either the full text of an entry or just a synopsis (sometimes in the same feed), and which sometimes is absent. There is no built-in way to signal whether the contents are complete.
Atom has separate “summary” and “content” elements. The summary is encouraged for accessibility reasons if the content is non-textual (e.g. audio) or non-local (i.e. identified by pointer).
Autodiscovery
RSS autodiscovery has been implemented several times in different ways and has never been standardized. This is a common source of difficulty for non-technical users.
Atom standardizes autodiscovery. Additionally, Atom feeds contain a “self” pointer, so a newsreader can auto-subscribe given only the contents of the feed, based on Web-standard dispatching techniques.
Extraction and Aggregation
The only recognized form of RSS 2.0 is an <rss> document.
Atom 1.0 allows standalone Atom Entry documents; these could be transferred using any network protocol, for example XMPP. Atom also has support for aggregated feeds, where entries from multiple different feeds are combined, with pointers back to the feed they came from.
Differences of Degree
Extensibility
RSS 2.0 is not in an XML namespace but may contain elements from other XML namespaces. There is no central place where one can find out about many popular extensions, such as dc:creator and content:encoded.
Atom 1.0 is in an XML namespace and may contain elements or attributes from other XML namespaces. There are specific guidelines on how to interpret extension elements. Additionally, there will be an IANA managed directory rel= values for <link>. Finally, Atom 1.0 provides recommended extension points and guidance on how to interpret simple extensions.
URIs
RSS 2.0 does not specify the handling of relative URI references, and in practice they cannot be used in RSS feeds.
Atom 1.0 specifies use of the XML's built-in xml:base attribute for allowing the use of relative references.
Software Libraries (Parsing, Generating)
Both RSS 2.0 and Atom 1.0 feeds can be accessed via standard HTTP client libraries. Standard caching techniques work well and are encouraged. Template-driven creation of both formats is quite practical.
Libraries for processing RSS 2.0:
Libraries for processing Atom 1.0:
Language Tagging
For identification of the language used in feeds, RSS 2.0 has its own <language> element, while Atom uses XML's built-in xml:lang attribute.
Digital Signature/Encryption
RSS 2.0 can be encrypted or signed like any other web content, if treated as a bag of bits.
Rules for applying standard XML Encryption and XML Digital Signature on entries are included in Atom 1.0. Alternatively, the feed can be encrypted or signed, like RSS 2.0, as a bag of bits.
Authors
RSS 2.0 provides the ability to specify email addresses for a feed’s “managingEditor” and “webMaster”, and for an item’s “author”. Some publishers prefer not to share email addresses, and use “dc:creator” from the dublin core extension instead.
Atom 1.0 provides “author” and “contributor” elements at both the feed and entry level. These elements must contain a name, and also have optional email and URI sub-elements.
Categories
RSS 2.0 categories have two parts: label and domain.
Atom 1.0 categories have three, with the addition of optional human-readable title.
Schema
The RSS 2.0 specification includes no schema.
Atom 1.0 includes a (non-normative) ISO-Standard RelaxNG schema, to support those who want to check the validity of data advertised as Atom 1.0. Other schema formats can be generated from the RelaxNG schema.
Sample RSS and Atom Feeds
RSS 2.0 (687 bytes)
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <title>Example Feed</title> <description>Insert witty or insightful remark here</description> <link>http://example.org/</link> <lastBuildDate>Sat, 13 Dec 2003 18:30:02 GMT</lastBuildDate> <managingEditor>johndoe@example.com (John Doe)</managingEditor> <item> <title>Atom-Powered Robots Run Amok</title> <link>http://example.org/2003/12/13/atom03</link> <guid isPermaLink="false">urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</guid> <pubDate>Sat, 13 Dec 2003 18:30:02 GMT</pubDate> <description>Some text.</description> </item> </channel> </rss>
Atom 1.0 (677 bytes)
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Example Feed</title> <subtitle>Insert witty or insightful remark here</subtitle> <link href="http://example.org/"/> <updated>2003-12-13T18:30:02Z</updated> <author> <name>John Doe</name> <email>johndoe@example.com</email> </author> <id>urn:uuid:60a76c80-d399-11d9-b93C-0003939e0af6</id> <entry> <title>Atom-Powered Robots Run Amok</title> <link href="http://example.org/2003/12/13/atom03"/> <id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id> <updated>2003-12-13T18:30:02Z</updated> <summary>Some text.</summary> </entry> </feed>
Element Comparison Table
Atom 1.0 defines 21 elements; RSS 2.0, 30. Most of the RSS 2.0 elements missing in Atom 1.0 are either those that were never widely implemented in practice, or the capabilities are provided in other ways.
| RSS 2.0 | Atom 1.0 | Comments |
| rss | - | Vestigial in RSS |
| channel | feed | |
| title | title | |
| link | link | Atom defines an extensible family of "rel" values |
| description | subtitle | |
| language | - | Atom uses standard "xml:lang" attribute |
| copyright | rights | |
| webMaster | - | |
| managingEditor | author or contributor | |
| pubDate | published (in entry) | Atom has no feed-level equivalent |
| lastBuildDate (in channel) | updated | RSS has no item-level equivalent |
| category | category | |
| generator | generator | |
| docs | - | |
| cloud | - | |
| ttl | - | Use the Expires and max-age cache hints in HTTP 1.1 |
| image | logo | Atom recommends 2:1 aspect ratio |
| - | icon | As in "favicon.ico" |
| rating | - | |
| textInput | - | |
| skipHours | - | |
| skipDays | - | |
| item | entry | |
| author | author | |
| - | contributor | |
| description | summary and/or content | depending on whether full content is provided |
| comments | - | |
| enclosure | - | rel="enclosure" on <link> in Atom |
| guid | id | |
| source | - | rel="via" on <link> in Atom |
| - | source | Container for feed-level metadata to support aggregation |
Related
See also:
기술분류