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


当前回答

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 资源。

其他回答

请参见本文,具体而言,

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

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

由于难以清楚地区分URI和URL,我记得W3C不会再区分URI和URL(http://www.w3.org/Addressing/)。

我喜欢在思考URI时使用的另一个例子是XML文件的xmlns属性:

<rootElement xmlns:myPrefix="com.mycompany.mynode">
    <myPrefix:aNode>some text</myPrefix:aNode>
</rootElement>

在这种情况下,com.mycompany.mynode 将是一个独特识别“myPrefix”名称空间的 URI 对所有在我的 XML 文档中使用的元素。

易于解释:

假设下列

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

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