REST:Atom标准

原创 2016年08月30日 14:12:00

      Atom包括一对协议,Atom Syndication Format和Atom Publishing Protocol (简称AtomPub)。说起Atom可能有点陌生,可以把它看作RSS2.0的替代品,它是 一种基于XML的超媒体格式标准Atom详细规范参考RFC 4287下面是一Atom格式实例:

<?xml version="1.0" encoding="utf-8"?>
   <feed xmlns="http://www.w3.org/2005/Atom">
     <title type="text">dive into mark</title>
     <subtitle type="html">
       A <em>lot</em> of effort
       went into making this effortless
     </subtitle>
     <updated>2005-07-31T12:29:29Z</updated>
     <id>tag:example.org,2003:3</id>
     <link rel="alternate" type="text/html"
      hreflang="en" href="http://example.org/"/>
     <link rel="self" type="application/atom+xml"
      href="http://example.org/feed.atom"/>
     <rights>Copyright (c) 2003, Mark Pilgrim</rights>
     <generator uri="http://www.example.com/" version="1.0">
       Example Toolkit
     </generator>
     <entry>
       <title>Atom draft-07 snapshot</title>
       <link rel="alternate" type="text/html"
        href="http://example.org/2005/04/02/atom"/>
       <link rel="enclosure" type="audio/mpeg" length="1337"
        href="http://example.org/audio/ph34r_my_podcast.mp3"/>
       <id>tag:example.org,2003:3.2397</id>
       <updated>2005-07-31T12:29:29Z</updated>
       <published>2003-12-13T08:29:29-04:00</published>
       <author>
         <name>Mark Pilgrim</name>
         <uri>http://example.org/</uri>
         <email>f8dy@example.com</email>
       </author>
       <contributor>
         <name>Sam Ruby</name>
       </contributor>
       <contributor>
         <name>Joe Gregorio</name>
       </contributor>
       <content type="xhtml" xml:lang="en"
        xml:base="http://diveintomark.org/">
         <div xmlns="http://www.w3.org/1999/xhtml">
           <p><i>[Update: The Atom draft is finished.]</i></p>
         </div>
       </content>
     </entry>
   </feed>

atom的用途
    虽然Atom和AtomPub一开始只是为聚合和发布日志内容而设计的,但在各个领域内的广泛使用已经证明了它的价值。Atom可以被应用于社交联络,日程安排,文件管理,论坛讨论,档案管理,书签标记,维基网站,照片共享,播客网站,发布基于公共警报协议(Common Alerting Protocol)的通告等许许多多方面。对于任何需要发布和管理各种格式内容集合的应用,Atom都有一定的适用性。

   REST架构风格中最核心本的要素之一是超媒体格式。虽然超媒体格式有很有用,如能被浏览器很好解析的HTML。但是HTML也不是万能的。如我们在AJAX应用中,使用JSON表述格式很显然比HTML要好。再者,我们为了实现某一特定领域而采用自定义的超媒体格式,如果消费者只需要处理表述中的一小部分,虽然我们可以通过获取资源的表述,然后过滤出我们需要处理的资源,但这显然不是一种好的方式。Atom社区所制定了一条深受欢迎的惯例。

Atom vs SOAP
     SOAP主要是作为传送数据的一种方式。加上WSDL会看起来更合理一些。AtomPub和SOAP/WSDL两者都提供给你编写服务以供他人使用的能力,但AtomPub采取了一种完全不同的途径来帮助用户实现他们的服务。它实现了一些能令用户更自由的约束。
     因为数据受限于统一格式——每个条目都包括title,entry,id,和content/summary——这使得我能从一条Atom feed中得到有用的信息,而不管   这条feed来自哪一类型的应用。比如解析日历数据就像我解析一个雇员目录或者是阅读网络日志一样的简单。我不需要任何特殊的工具或者更多的信息,仅仅只需了解这是基于AtomPub的服务。但从另一方面,这种约束也限制了AtomPub的适用性——它绝不是一个万能的协议。很多信息用AtomPub来建模会显得过于笨拙。事实上,当你的数据是有时序的列表时,AtomPub是其自然的选择。

AtomPub
    AtomPub是一种基于Atom Syndication Format和HTTP的应用协议,HTTP头和有效载荷都包含业务逻辑,不同于soap把http降级为传输协议用于发布和编辑Web资源。它采用一种标准化的机制来创建和编辑Web资源,并能解决任何可能发生的冲突,如对Web资源操作时的并发等问题。


参考:

http://www.cnblogs.com/tyb1222/archive/2011/12/16/2290053.html

稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据

[索引页] [源码下载] 稳扎稳打Silverlight(19) - 2.0通信之调用REST服务,处理JSON格式, XML格式, RSS/ATOM格式的数据 作者:web...

[CXF REST标准实战系列] 二、Spring4.0 整合 CXF3.0,实现测试接口

Writer:BYSocket(泥沙砖瓦浆木匠) 微博:BYSocket豆瓣:BYSocket Reprint it anywhere u want. 文章Points: 1、...

ECMAScript6(ES6)标准之函数扩展特性箭头函数、Rest参数及展开操作符

ES6扩展了很多语法糖语法 其中对于函数我们又可以使用一种叫做“箭头函数”的写法 同时引入了Rest参数 利用“…”可以获取多余参数 这样就我们就不要使用arguments对象了函数默认参数E...

使用 RESTlet 框架开发符合 JSR311 规范标准的 REST Web Service

JSR311 作为 Java 实现 REST Web Service 的规范标准,尽管从出生起就备受争议,但从事实上,已经普遍被大多数 REST 实现框架的接受。这中间,既有 Sun 公司原产的 Je...

Atom 1.21.1 编辑器

  • 2017年10月28日 17:52
  • 54B
  • 下载

source insight 4.0 仿atom暗色主题

  • 2017年08月22日 11:59
  • 8.78MB
  • 下载

ATOM基础教程一php-cs-fixer配置(13)

php-cs-fixer简介php-cs-fixer是自动规范化php代码插件,良好的代码规范可以提高代码可读性,减少团队沟通维护成本,推荐大家遵守的php代码规范是php-fig(PHP Frame...
  • zsl10
  • zsl10
  • 2016年07月13日 18:03
  • 3531

Atom使用中文教程

  • 2017年10月26日 14:49
  • 7.21MB
  • 下载

Atom图片分割器 V1.1

  • 2014年05月11日 11:19
  • 2.56MB
  • 下载

Atom安装并配置C\C++开发环境

本文将讲解如何下载Atom并配置C\C++编译开发环境...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:REST:Atom标准
举报原因:
原因补充:

(最多只允许输入30个字)