2010-08-22 132 views
2

我正在尝试为类似文件系统的Web服务设计一个RESTful接口。为了提供各种资源(文件,目录等)之间的超链接,我想我会使用XLink。但是,XLink:内容类型似乎有一个奇怪的遗漏。自定义内容类型:XLink与Atom

Atom提供了指定链接的内容类型的属性以及链接的资源对目前的关系,如:

<link rel="alternate" type="text/html" href="http://example.org"/> 

因为我创造了我的每个资源的自定义内容类型表示,这似乎是我的超链接中包含的重要信息。

我可以种做出来的模拟相对在XLink的规范(标签,我猜?),但为什么是内容类型从XLink的缺失?他们是否打算角色以某种方式传达客户在链接末尾发现的内容?也许我错过了XLink的目的?

回答

2

看来xlink有意忽略了这一点;媒体类型或表示的唯一提及与片段标识符的解释方式有关。 XLink实际上只定义了资源之间的链接为,而不是它们的表示。

这意味着如果您使用XLink,则必须定义自己的方式来指定链接目标的预期媒体类型,而如果使用Atom链接,则可以获得目标媒体类型,但不能获得XLink的多功能性。

因为你很可能定义自己的媒体类型,除非你想通用客户端不知道你的媒体类型,以便能够解析嵌入式链接不是非常重要。 任何了解您的媒体类型的客户端都可以阅读您的文档,并知道使用XLink,Atom,HTML(link元素)或您自己的专有链接语义。

正如后者的一个示例:Sun Cloud API使用带有rel和href属性的JSON对象列表作为传出链接。

+1

最终我决定在XLink中承受这个缺点并不值得增加扩展链接的灵活性。我已经决定使用Atom来代替链接,因为它提供了我们需要的所有东西*,如果不是我们想要的东西。非常感谢您的想法! – ladenedge 2010-08-23 15:54:18

+0

我不想让自己偏爱你,但我也会选择这样的。原子链接很好理解,并且具有注册和扩展机制,以及各种有趣的链接(例如修订历史,分页和归档)。 – mogsie 2010-08-23 19:40:50

相关问题