ATOM-feeds中的“link”元素是什么?

时间:2011-03-08 14:04:44

标签: rss feeds atom-feed

有人可以帮我理解ATOM Feed中“链接”标签的用途吗?

  • 他们指的是物理资源,还是像标识符一样?
  • 开头的链接网址和每个“条目”区块之间有什么区别?
  • 是否必须拥有此linkURL?

非常感谢有关此事的任何信息!

我在下面提供了一段代码示例。

<?xml version="1.0"?>
<atom:feed>

  <link rel="self" href="http://publisher.example.com/happycats.xml" />
  <updated>2008-08-11T02:15:01Z</updated>

  <!-- Example of a full entry. -->
  <entry>
    <title>Heathcliff</title>
    <link href="http://publisher.example.com/happycat25.xml" />
    <id>http://publisher.example.com/happycat25.xml</id>
    <updated>2008-08-11T02:15:01Z</updated>
    <content>
      What a happy cat. Full content goes here.
    </content>
  </entry>

1 个答案:

答案 0 :(得分:8)

Atom是一种联合格式,可以通过超媒体采用ReSTful通信的应用程序使用。它非常适合发布feed,它不仅适用于博客,还可以用于分布式应用程序(例如,用于将事件发布到系统的其他部分),以利用HTTP的优势(缓存,可伸缩性等)和使用REST的解耦。

Atom中的

元素称为链接关系,可以向Feed的消费者表明一些事情:

  • rel="self"通常表示当前元素(在您的情况下,Feed本身)代表实际资源,这是该资源的URI
  • rel="via"可以识别Feed中信息的原始来源或Feed中的条目
  • rel="alternate"指定指向同一资源(Feed或条目)的替代表示的链接
  • rel="enclosure"可能意味着链接到资源的目的是下载和缓存,因为它可能很大
  • rel="related"表示该链接以某种方式与当前Feed或条目相关
  • ATOM提供商还可以指定自己显示链接的原因,并提供自定义rel

通过以这种方式提供相关资源的链接,您可以解耦系统 - 系统需要知道的唯一URI是1个入口点,从那时起,其他操作通过这些链接关系提供给消费者。这些链接有效地告诉消费者,他们可以使用这些链接对其相关的条目采取操作或检索数据。

我可以为REST推荐一本关于Atom深入探讨的好书,由Jim Webber,Savas Parastatidis和Ian Robinson撰写REST in Practice