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


当前回答

正如我所理解的那样,URI是某事的描述,按照接受的格式,可以定义某事或其位置的独特名称(识别)。

有两个基本子组:

URL,定义位置(特别是试图查看网页的浏览器)和URN,定义某事的独特名称。

我倾向于认为URN类似于GUID,它们只是一个标准化的方法来为事物提供独特的名称,就像在使用公司名称的名称空间声明中一样,它并不像在某个服务器上坐着的资源在某个地方相匹配于该文本线,它只是独特地识别某些东西。

我也倾向于完全避免URI的术语,并讨论事物只有在URL或URN的意义上,因为它会导致如此多的混乱。我们应该真正试图回答问题的人不是那么多的语法,但如何识别当遇到的术语是否有任何实际的差异在他们,这将改变对一个编程情况的方法。

如果我离开基地,请告诉我!

其他回答

此分類上一篇

URI、URL、URN

如上图所示,这里有三个不同的组成部分,通常最好在讨论这些问题时去源头,所以这里是由Tim Berners-Lee, et. al.在RFC 3986: Uniform Resource Identifier(URI): Generic Syntax:

统一资源识别器(URI)是识别一个抽象或物理资源的字符的微型序列,URI可以进一步分类为一个位置,一个名称,或两者。

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

scheme://authority/path?query

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

此分類上一篇

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

请参见更多详细信息:

维基百科

URL - 统一资源探测器

包含关于如何从其位置获取资源的信息,例如:

URN - 统一资源名称

URC - 统一资源引用


经常提出的问题

我不知道,但现代的网页浏览器正在实施数据URI系统。

URL 和 URI 之间的区别与它是否有查询参数有什么关系?

URL 和 URI 之间的区别与哪些字符有任何关系吗?

没有. URL 被定义为一个严格的 URI 子组. 如果一个字符允许一个字符在一个 URL 但不是一个 URI,有一个错误在一个字符. 特征走到很好的细节,关于哪些字符被允许在哪些部分的 URL 和 URI. 某些字符只能允许在 URL 的某些部分,但字符本身不是 URL 和 URI 的区别。

一个URI可以是URL和URN吗?


此分類上一篇

這些是幾個非常好寫的,但很長的答案. 以下是 CodeIgniter 所涉及的差異:

地址: http://example.com/some/page.html

URI - /some/page.html

简单地说,URL是识别任何资源的完整方式,并且可以有不同的协议,如FTP、HTTP、SCP等。

URI 是当前域的资源,因此需要找到更少的信息。

在每个例子中,CodeIgniter使用这个词URL或URI,这是他们正在谈论的差异,尽管在网格的格式中,它不是100%正确的。

URL

乌里

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

URL 和 URI 的区别

一个 URI 是某些资源的标识,但一个 URL 给你具体的信息,以获得这个资源. 一个 URI 是一个 URL 和一个评论家指出,它现在被认为是错误的使用 URL 当描述应用程序. 一般来说,如果 URL 描述一个资源的位置和名称,使用的术语是 URI. 因为这通常是我们大多数人每天遇到的情况, URI 是