一个 URL、一个 URI 和一个 URN 的区别是什么?


当前回答

根據定義 URL 是 URI 的子集 [RFC2396]. URI 包含 URN 和 URL. 兩個 URI 和 URL 都有自己的特定的合成,這給他們的狀態是 URI 或 URL. URN 是為了獨特地識別一個資源,而 URL 是為了找到一個資源。

作为网页开发人员和程序员,我们将几乎总是关心URL,因此URI. 现在一个URL是具体定义的所有部分图表:图表特定的部分,如 https://stackoverflow.com/问答. 这是一个URL,也是一个URI. 现在考虑一个相对链接嵌入到页面,如../index.html. 这不再是一个URL的定义。

其他回答

根据 RFC 3986, URI 由以下组成:

scheme://authority/path?query

URI 描述了在服务器(权威)上访问资源(路径)或应用程序(请求)的协议。

此分類上一篇

所有 URL 都是 URI,所有 URN 都是 URI,但所有 URI 不是 URL。

请参见更多详细信息:

维基百科

最好的(技术)总结 imo 是这个一个

统一资源识别器是识别一个抽象或物理资源的字符的紧凑序列. 字符集仅限于US-ASCII 排除一些保留字符. 允许字符集之外的字符可以使用百分比编码来代表。

URL

IRI is a superset of URI (IRI ⊃ URI)
URI is a superset of URL (URI ⊃ URL)
URI is a superset of URN (URI ⊃ URN)
URL and URN are disjoint (URL ∩ URN = ∅)

关于Semantic Web问题的结论

一个 URI 通过位置或名称识别一个资源,或者两者。 更常见的是,我们大多数人使用定义一个资源的位置的 URI. 事实上,一个 URI 可以通过名称和位置识别一个资源,在我看来导致了很多混乱。

URL 是 URI 的专业化,它定义了一个特定的资源的网络位置. 与 URN 不同,URL 定义了资源可以获得的方式. 我们每天使用 URL 以 http://stackoverflow.com 等的形式,但一个 URL 不必是一个 HTTP URL,它可以是 ftp://example.com 等。

URN 格式 : urn:[namespace identifier]:[namespace specific string] urn: and : stand for themselves. 示例: urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 urn:ISSN:0167-6423 urn:isbn:096139210x Amazon 资源名称(ARNs)是一个独特的识别 AWS 资源。

维基百科将提供您所需的所有信息。 引用来自 http://en.wikipedia.org/wiki/URI:

URL 是一個 URI,除了識別資源之外,還提供行動或獲得資源的代表性的手段,描述其主要接入機制或網路「位置」。