Atom是一對彼此相關的標準。Atom供稿格式(Atom Syndication Format)是用於網站消息來源,基于XML的文档格式;而Atom出版協定(Atom Publishing Protocol,簡稱AtomPub或APP)是用於新增及修改網路資源,基于HTTP的协议。
它借鉴了各种版本RSS的使用经验,被許多的聚合工具广泛使用在发布和使用上。Atom供稿格式設計作為RSS的替代品;而Atom出版協定用來取代現有的多種發布方式(如Blogger API和LiveJournal XML-RPC Client/Server Protocol)。Google提供的多種服务正在使用Atom。Google Data API(GData)亦基於Atom。
Atom是IETF的「建議標準」,Atom供稿格式列為RFC 4287,而Atom出版協定列為RFC 5023。
歷史
Atom曾命名為「Echo」。
Atom與RSS 2.0的比較
当初发展Atom的动机在于广泛应用RSS 2.0时所遇到的问题。为了降低开发支持Web聚合应用的难度,下面列出Atom 1.0所克服的RSS 2.0几个主要问题(源自[http://www.intertwingly.net/wiki/pie/Rss20AndAtom10Compared]):
- RSS 2.0可能包含文本或经过编码的HTML内容,同时却没有提供明确的区分办法;相比之下,Atom则提供了明确的标签(也就是typed)。
- RSS 2.0的description标签可以包含全文或摘要(尽管该标签的英文含义为描述或摘要)。Atom则分别提供了summary和content标签,用以区分摘要和内容,同时Atom允许在summary中添加非文本内容。
- RSS 2.0存在多种非标准形式的应用,而Atom具有统一的标准,这便于内容的聚合和发现。
- Atom有符合XML标准的命名空间,RSS 2.0却没有。
- Atom通过XML内置的xml:base标签来指示相对地址(URI),RSS 2.0则无相应的机制区分相对地址和绝对地址。
- Atom通过XML内置的xml:lang,而RSS採用自己的language标签。
- Atom强制为每个条目设定唯一的ID,这将便于内容的跟踪和更新。
- Atom 1.0允许条目单独成为文档,RSS 2.0则只支持完整的种子文档,这可能产生不必要的复杂性和带宽消耗。
- Atom按照RFC 3339标准(ISO 8601标准的一个子集)表示时间 ,而RSS 2.0中没有指定统一的时间格式。
- Atom 1.0具有在IANA注册了的MIME类型,而RSS 2.0所使用的application/rss+xml并未注册。
- Atom 1.0标准包括一个XML schema,RSS 2.0却没有。
- Atom是IETF组织标准化程序下的一个开放的发展中标准,RSS 2.0则不属于任何标准化组织,而且它不是开放版权的。
示例
一个Atom文档:
Example Feed
A subtitle.
urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6
2003-12-13T18:30:02Z
John Doe
[email protected]
Atom-Powered Robots Run Amok
urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a
2003-12-13T18:30:02Z
Some text.
包含于XHTML
下列标签会被插入XHTML文档的头部以提供ATOM源的链接。
参见
- 消息來源(饋送)
外部链接
- [https://web.archive.org/web/20071018010134/http://www.ietf.org/html.charters/atompub-charter.html IETF Atom Publishing Format and Protocol working group (atompub)]
- [http://www.intertwingly.net/wiki/pie/FrontPage Atom Wiki]
- [https://web.archive.org/web/20070630160757/http://atomenabled.org/ AtomEnabled.org] - Atom計劃的非官方支持網站
- [http://phaedo.cx/archives/2003/07/15/the-great-syndication-wars/ The great syndication wars]
- [http://www.sixapart.com/log/2003/06/why_we_need_ech.shtml Why we need Echo]
- [http://www.xml.com/pub/a/2003/08/20/dive.html Should Atom Use RDF?]
评论 (0)