RSS和Atom之对比本文乃翻译,仅供参考,如有错误,请指正。原文地址: RSS and Atom 目前syndication feed有不同的格式。至2005年年中,两个使用最广的格式是 RSS 2 .0 和 Atom 1.0 。本文的目的是:对两者间的区别,提供一个尽可能简单清晰的摘要。 主要的/性质上的区别实施状况
规范RSS 2 .0规范已经冻结,Harvard University拥有其版权。不能做大的修改(虽然该规范处于Creative Commons 协议) 且计划未来的工作在一个不同的名称下进行;Atom是这类工作的一个例子。 Atom 1.0的规范 RFC 4287 ( HTML Version ); 体现了 IETF 内的 Atompub Working Group 大多数人的意见,并由IETF和 Internet Engineering Steering Group 讨论并通过。该规范在架构设计上使得IETF能有预期的发布新的版本或修正版本而不会破坏当前的实施。虽然这样做并没有约定,当前也没有明确的需要。 参考下面的 Extensibility 部分了解如何在不修改基础规范的情况下做出扩充。 Publishing Protocols目前有两种流行的与RSS配合的protocol, MetaWeblog 和 Blogger 。这里有一些常有的 问题报告 ,关于协同工作和功能上的缺陷. Atompub工作组正在开发 [Atom Publishing Protocol]:http://ietfreport.isoc.org/idref/draft-ietf-atompub-protocol/ ,目前在最后的工作阶段。该Protocol与Atom feed格式紧密结合,并基于现存protocol的经验。 需要的内容RSS 2 .0需要feed级别的title, link和description。RSS 2.0不需要出现任何单个项目(individual item)的字段(field)。 Atom 1.0需要feed和entry都包含title(可以为空串),一个唯一的标示和最后更新的时间戳。 PayloadRSS 2 .0可以包含纯文本和或escaped HTML ,但没有提供辨别类型的方法。Escaped HTML 很难看(比如:串”AT&T”表示为 Atom有一个设计良好的payload container。内容必须被明确地指定为以下类别中的一个:
接收者不保证能对特有的XML或二进制内容做出有用的处理。但是,能保证接收者不会不恰当地尝试处理其没有能力处理的内容。 完整的与部分的内容RSS 2 .0的 Atom有独立的 AutodiscoveryRSS autodiscovery 已经用不同的方法实现了多次,常常是依赖没有注册的(也因此无效的)application/rss+xml MIME 类型,并一直没有标准化。这是通常给非技术用户带来困难的地方。 Atom standardizes autodiscovery . application/atom+xml MIME 类型由IANA注册。而且,Atom feeds包含一个“self” pointer,因此newsreader可以仅通过feed的内容自动订阅,给予Web-standard的dispatching技术。 Extraction and AggregationRSS 2 .0唯一可被识别的格式是一个@@document。 Atom 1.0允许独立的Atom Entry documents; 其可被任何network protocol传输,例如 XMPP 。 Atom也支持aggregated feeds,允许entries连接回其在被包含进其他feed之前所属的feed。 Differences of Degree扩展性RSS 2 .0不存在于任何一个XML namespace但可能包含其他XML namespaces的元素。没有一个可找到大量流行扩展(比如:dc:creator和content:encoded)的中心。 Atom 1.0在一个 XML namespace 中并可能包含其他XML namespaces的元素和属性。有特定的guideline说明如何解释扩展元素。而且,会有一个由IANA管理的关于 URIsRSS 2 .0没有说明如何处理相对连接引用。不同的feed readers有其各自不同的处理。 There is no interoperability。实际上,不能在RSS feed中使用相对连接引用。 Atom 1.0定义了使用XML内建的 xml:base 属性以允许相对连接引用。 软件库(Parsing, Generating)RSS 2 .0和Atom 1.0 feeds都可通过标准的HTTP client库来访问。一般的缓存技术可以很好的工作,鼓励使用。模版驱动创建两种类型的feed也非常实际有效。 处理RSS 2.0的库: 处理Atom 1.0的库: Language Tagging为辨别feed中使用的语言,RSS 2.0有自己的 数字签名/加密RSS 2 .0可以同其他web内容一样,看作a bag of bits来加密或签名。 Atom 1.0包含了应用在entry上 XML Encryption 和 XML Digital Signature 的规则。另外,也可和RSS 2.0一样,看作a bag of bits来加密或签名。 AuthorsRSS 2 .0可指定feed的 Atom 1.0提供 CategoriesRSS 2 .0的分类包含两部分: label 和 domain Atom 1.0的分类包含三部分:增加了可选的human-readable title. SchemaRSS 2 .0 specification没有包含schema Atom 1.0包含了一个(没有标准化的) ISO -Standard RelaxNG schema,以支持对Atom 1.0格式的数据进行有效检查。其他schema格式可通过RelaxNG schema 生成 简单的RSS和Atom的FeedsRSS 2 .0
Atom 1.0
元素比较表Atom 1.0定义了21个元素; RSS 2 .0是30个。很多RSS 2.0有而Atom没有的元素要么在实际中没能广泛实现,要么其功能被以其他方法提供。
Related参考
ATOM和RSS的区别
2008-01-19 23:37
|
【转载】RSS和Atom之对比三篇
最新推荐文章于 2024-05-23 09:53:27 发布
RSS和Atom之对比
2008-01-19 23:28