一个 URL、一个 URI 和一个 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 是

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

有两个基本子组:

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

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

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

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

我找到了:


一个统一的资源识别器(URI)代表一个大图像的东西. 你可以分 URIs / URIs 可以分类为位置(统一的资源识别器-URL),或名称(统一的资源名称-URN),或两者。 因此,基本上,一个URN 功能如一个人的名字和URL 描述这个人的地址. 如此长的故事短,一个URN 定义一个项目的身份,而URL 提供定义

URI => http://en.wikipedia.org/wiki/Uniform_Resource_Identifier

URL 是 URI 的子组(也包含 URN)。

基本上,一个 URI 是一个通用识别器,在那里一个 URL 指定一个位置,而一个 URN 指定一个名字。

从 RFC 3986:

“Uniform Resource Locator”(URL)是指URI的子组,除了识别资源之外,它还提供了通过描述其主要访问机制(例如,其网络的“位置”)来定位资源的手段。

因此,所有URL都是URI,所有URL都是URI,但URL和URL都是不同的,所以你不能说所有URL都是URL。

如果你还没有阅读罗杰·帕特的答案,我会建议你这样做。