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


当前回答

请参见本文,具体而言,

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

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

其他回答

请参见本文,具体而言,

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

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

对于已经发表的答案,这里有一个Venn的图表来总结理论(从Prateek Joshi的美丽解释):

此分類上一篇

还有一个例子(也来自Prateek的网站):

此分類上一篇

易于解释:

假设下列

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的子组,而不是相反。

虽然 URI 和 URL 术语是严格定义的,但许多人使用这些术语的其他事物,而不是它们的定义。

如果从 Apache 服务器要求 http://example.com/foo,您将设置以下环境变量:

REDIRECT_URL: /foo REQUEST_URI: /foo

使用 mod_rewrite 启用,您还将有以下变量:

REDIRECT_SCRIPT_URL: /foo REDIRECT_SCRIPT_URI: http://example.com/foo SCRIPT_URL: /foo SCRIPT_URI: http://example.com/foo

这可能是某些混乱的原因。

原来,URI计划分为URL(地址)和URN(名称),但然后有一个URL和URI之间很少的差异,而HTTP URI被用作名称空间,尽管它们实际上没有找到任何资源。