2

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

Atom提供了一个属性来指定链接的内容类型以及链接资源与当前的关系,如下所示:

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

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

我可以在 XLink 规范(我猜是labelfromto ?)中找到一个类似于rel的类比,但是为什么 XLink 中缺少内容类型?他们是否打算让该角色以某种方式传达客户在链接末尾发现的内容?也许我错过了 XLink 的目的?

4

1 回答 1

2

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

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

由于您可能正在定义自己的媒体类型,因此它并不是非常重要,除非您希望不知道您的媒体类型的通用客户端能够解析嵌入的链接。 任何了解您的媒体类型的客户端都可以阅读您的文档,并且会知道使用 XLink、Atom、HTML(link元素)或您自己的专有链接语义。

就像后者的一个例子:Sun Cloud API 使用带有 rel 的 JSON 对象列表,以及传出链接的 href 属性。

于 2010-08-22T21:08:46.267 回答