5

我已经阅读了很多关于URIURLURN的文章,但我不了解实际示例中的差异。

你能举几个URIURL的例子吗?

我认为http://stack.com/first/index.html?submit=yes&action=go#second是 URI,而不是 URL,是吗?

然后http://stack.com/first/index.html是 URL,因为它不是那么具体?

在此处输入图像描述

这个图像是正确的吗?

4

2 回答 2

6

以下是J.Webber、S.Parastatidis、I.Robinson引用的REST in Practice 中的一句话,它抓住了差异的本质:

URL 和 URN 是 URI 的特殊形式。

标识可以访问资源的机制的URI通常称为URL。HTTP URI 是 URL 的示例。

如果 URI 将urn 作为其方案并遵守RFC 2141RFC 2611的要求,则它是URN。URN 的目标是为资源提供全球唯一的名称。

顺便说一下,这本书的 ISBN 是ISBN-13:978-0596805821。如果您单击 Amazon.com 的链接为什么 ISBN 很重要,您将看到工具提示:

此条形码编号可让您验证您获得的图书版本是否完全正确。

这是命名空间中的 URN(和定义的 URI)的示例urn:isbn,它不假定任何给定的机制来检索此资源,但确实识别它。

如果你有一些在线书籍的链接,例如 PDF 格式的,那将是一个 URL(和定义的 URI),看起来像这样:

https://www.somewebsite.org/books/RestInPractice.pdf
于 2017-06-11T12:35:46.387 回答
2

不,图像不正确。您的两个示例都是 URI 和 URL。

每个 URL 都是一个 URI。
每个 URN 都是一个 URI。

背景

根据 W3C 的URI、URL 和 URN:Clarifications and Recommendations 1.0(也由 IETF 作为RFC 3305发布):

对所有事物都使用一个术语:URIURL

URI 的 Internet 标准STD 66(当前映射到RFC 3986建议

未来的规范和相关文档应该使用通用术语“URI”而不是更严格的术语“URL”和“URN”

WHATWG 的URL 生活标准(以及W3C 的版本

标准化术语 URL。URI 和 IRI 只是令人困惑。在实践中,两者都使用单一算法,因此保持它们不同对任何人都没有帮助。

我的推荐

  • 对所有内容都使用“URL”和/或“URI”(或“IRI”,如果有区别的话)。
  • 仅对具有 URI 方案的 URI 使用“URN” urn,并且仅在您需要具体时才使用。
于 2017-03-02T04:29:34.003 回答