URI、URL 和 URN 示例

Posted

技术标签:

【中文标题】URI、URL 和 URN 示例【英文标题】:Examples of URI, URL and URN 【发布时间】:2017-07-20 22:32:25 【问题描述】:

我已经阅读了很多关于 URIs、URLs 和 URNs 的文章,但我不了解实际示例中的差异.

你能举几个URIURL的例子吗?

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

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

这张图片对吗?

【问题讨论】:

这可能会有所帮助:***.com/questions/4913343/… 【参考方案1】:

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

URL 和 URN 是 URI 的特殊形式。

标识 访问资源的机制通常被称为 作为 网址。 HTTP URI 是 URL 的示例。

如果 URI 有 urn 作为它的 方案并遵守RFC 2141和RFC 2611的要求,它 是一个URN。 URN 的目标是为 资源。

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

此条码号码可让您验证您是否获得了准确的 一本书的正确版本或版本。

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

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

https://www.somewebsite.org/books/RestInPractice.pdf

【讨论】:

【参考方案2】:

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

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

背景

根据 W3C 的 URIs, URLs, and URNs: Clarifications and Recommendations 1.0(也由 IETF 发布为 RFC 3305):

在classical view中,如果URI指定了资源的位置,那么URI就是URL,如果URI指定资源的name,那么URI就是URN。资源。

在contemporary view 中,进行这种区分并不相关或无用。

Confusion 可能会出现,因为术语“URI”和“URL”经常同义使用。

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

URI 的 Internet 标准,STD 66(当前映射到 RFC 3986),recommends:

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

WHATWG 的 URL Living Standard(和 W3C’s version of it)says:

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

我的建议

对所有内容都使用“URL”和/或“URI”(或“IRI”,如果有区别的话)。 仅对具有urn URI 方案的 URI 使用“URN”,并且仅在您需要具体说明时使用。

【讨论】:

以上是关于URI、URL 和 URN 示例的主要内容,如果未能解决你的问题,请参考以下文章

所有的 URL 都是 URN 吗?

URI URL URN

URI URL URN 的区别

URI、URL 和 URN 有啥区别? [复制]

URI、URL 和 URN 之间有啥区别?

URL,URI和URN的理解