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

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

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

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

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

有帮助吗?

解决方案

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

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top