分享

[转]什么是Atom 发布协议

 richsky 2012-04-21
什么是Atom 发布协议
2010-08-23 11:11
http://blog./archives/380/what-is-the-atom-publishing-protocol.html

Atom 发布协议(Publishing Protocol)是一种重要的内容发布和管理新标准。 在过去几年中,Web 内容连锁技术在互联网上以及防火墙后面变得越来越重要。2005 年 7 月,互联网工程任务组(IETF)的 Atom Publishing Format and Protocol 工作组(简称为 “atompub”)发布了两个标准规范中的第一个,目标是提供 “用于表示的提要格式和用于编辑 Web 资源的协议,如 Weblog、在线日志、Wiki 以及类似的内容。” 此后,通常被称为 Atom 1.0 的 Atom 连锁格式(Syndication Format),部署到了成千上万个网站上,并得到了市场上所有主要连锁平台的支持。

APP 是一种基于 HTTP 的协议,可用来发布、删除和更新资源。APP 强调的概念是使用 HTTP 协议提供的基本操作(如 GET、PUT、POST 和 DELETE)来传输内省文档和集合文档的实例,这些文档包含的各种资源和提要可用于发布、更新等等。找到这些资源和提要后,将使用与它们有关的 URI 进行发布和修改。成员提要(member feed)包含诸如博客条目、podcast、wiki 文档和日历事件等内容。APP 还被当作前端 API 进行研究和使用,用于广泛的数据存储服务,例如数据库服务器、文档和内容管理服务,以及软件存储库。

交换富语义内容涉及多种机制,APP 构建在流行的 Atom Syndication Format 之上的目的就是使用 REST 概念和技术将这些机制形式化。协议在称为集合 的 Web 资源容器中运作。引入集合的目的是为了对内省文档进行查找。所有集合都包含一些成员资源,这些成员资源是进行创建、访问、修改和删除的作用对象。要与集合 及其成员资源进行交互,需要使用常见的 HTTP 动词:

  • GET:用于检索集合的表示或成员资源
  • POST:用于创建新的成员资源
  • PUT:用于更新成员资源
  • DELETE:用于删除成员资源

APP 定义了以下基本实体:

内省文档:内省文档具有一个媒体类型 application/atomserv+xml 并对工作空间 进行描述,工作空间是由服务器定义的一组集合。一个集合可在多个工作空间中出现。清单 1 展示了一个典型的内省文档。

  • 内省文档:内省文档具有一个媒体类型 application/atomserv+xml 并对工作空间 进行描述,工作空间是由服务器定义的一组集合。一个集合可在多个工作空间中出现。清单 1 展示了一个典型的内省文档。

清单 1. 一个典型的内省文档

<?xml version="1.0" encoding="utf-8" ?>
<service xmlns="http://www./2007/app" xmlns:atom="http://www./2005/Atom">
- <workspace>
<atom:title>Main Site</atom:title>
- <collection href="http://localhost:8080/atompub/services/collections/main">
<atom:title>My Main Page</atom:title>
<accept>application/atom+xml;type=entry</accept>
<categories fixed="yes" />
</collection>
<collection href="http://localhost:8080/atompub/services/collections/pics">
<atom:title>My Pictures</atom:title>
<accept>*/*</accept>
<categories fixed="yes" />
</collection>
</workspace>
- <workspace>
<atom:title>Documents</atom:title>
- <collection href="http://localhost:8080/atompub/services/collections/docs">
<atom:title>My Documents</atom:title>
<accept>application/atom+xml;type=entry</accept>
<categories fixed="yes" />
</collection>
</workspace>
</service>
  • URI:一个统一资源标识符。
  • IRI:一个国际化资源标识符(参阅 参考资料)。
  • 成员资源:一个数据对象或服务,称为条目资源(entry resource) 或媒体资源(media resource),使用 IRI 或 URI 查找。条目资源被表示为 Atom *条目文档。媒体资源可使用任何媒体类型表示。在集合中使用媒体链接条目来描述媒体资源。
  • 表示:使用请求或响应传输的给定资源的状态。
  • 集合:使用惟一 URI 标识的存放成员资源的容器。集合被表示为 Atom 提要。要在集合中创建新条目,客户机需要向集合的 URI 发送 HTTP POST 请求。将为新条目分配一个惟一 URI,作为位置引用。要修改集合中的条目,客户机要使用条目的 URI 检索这个资源,作出修改,然后使用 PUT 将修改后的资源表示转移到服务器。要从集合中删除成员资源,向该成员资源的 URI 发出一个 HTTP DELETE 请求。集合中的所有成员必须具有一个 updated 属性,集合文档将根据它进行排序。
  • 工作空间:一组指定的集合。
  • 服务文档/元素:内省文档的顶级元素,描述被划分到各个工作空间的一个或多个集合的位置和功能。
  • 类别文档:该文档描述集合中允许的类别。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多