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


当前回答

易于解释:

假设下列

URI 是你的名字

URL 是您的地址,您的姓名在订单中与您沟通。

我的名字是 Loyola Loyola 是 URI 我的地址是 TN, Chennai 600001.

TN, Chennai 600 001, Loyola 是 URL

希望你明白,

让我们来看看一个准确的例子。

HTTP://www.google.com/fistpage.html

在上述情况下,您可以使用下面的 http://www.google.com/fistpage.html(URL)联系一个名为 firstpage.html(URI)的页面。

因此,URI是URL的子组,而不是相反。

其他回答

请参见本文,具体而言,

URL 是一个类型的 URI,通过其主要访问机制(例如,其网络“位置”)的代表来识别一个资源,而不是它可能具有某些其他属性。

这不是一个非常清晰的术语,真的。

简而言之:一个 URI 会识别,一个 URL 会识别和找到。

考虑到莎士比亚的游戏罗密欧和朱丽叶的具体版本,你在你的家庭网络上有一个数字副本。

您可以将文本定义为 urn:isbn:0-486-27557-4. 这将是一个 URI,但更具体的是一个 URN* 因为它命名文本。

您也可以将文本定义为 file://hostname/sharename/RomeoAndJuliet.pdf. 这也将是一个 URI,但更具体的是一个URL,因为它会找到文本。

* 统一资源名称

(请注意,我的例子是从维基百科调整的)

URI 源于需要识别网络上的资源,以及其他互联网资源,如电子邮箱,以统一和一致的方式,因此,可以引入一个新的类型的 widget: URI 识别 widget 资源或使用 tel: URI 有网链接会导致电话通话进行,当被召唤时。

例如,URI:中:0E4FC272-5C02-11D9-B115-000A95B55BC8@stackoverflow.com 是一个 URN 识别在其“邮件 ID”字段中包含的电子邮件。

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

有两个基本子组:

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

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

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

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

下面是我的简化:

URN:独一无二的资源名称,即“什么”(例如 urn:issn:1234-5678 ) 这个意思是独一无二的.. 因为在没有两个不同的文件可以有相同的 urn。

URL: “在哪里”找到它(例如 https://google.com/pub?issnid=1234-5678.. 或 ftp://somesite.com/doc8.pdf )

URI:可以是URN或URL,这种混乱的定义是由于W3C和IETF生产的RFC 3986。

URI的定义在过去的几年里改变了,所以对于大多数人来说是有意义的混淆。 但是,你现在可以放松的是,你可以提到 http://somesite.com/某些东西,无论是URL还是URI......你都会是正确的,无论如何(至少是时光,无论如何...)