一个 URL、一个 URI 和一个 URN 的区别是什么?
当前回答
对于已经发表的答案,这里有一个Venn的图表来总结理论(从Prateek Joshi的美丽解释):
此分類上一篇
还有一个例子(也来自Prateek的网站):
此分類上一篇
其他回答
我找到了:
一个统一的资源识别器(URI)代表一个大图像的东西. 你可以分 URIs / URIs 可以分类为位置(统一的资源识别器-URL),或名称(统一的资源名称-URN),或两者。 因此,基本上,一个URN 功能如一个人的名字和URL 描述这个人的地址. 如此长的故事短,一个URN 定义一个项目的身份,而URL 提供定义
原来,URI计划分为URL(地址)和URN(名称),但然后有一个URL和URI之间很少的差异,而HTTP URI被用作名称空间,尽管它们实际上没有找到任何资源。
虽然 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
这可能是某些混乱的原因。
下面是我的简化:
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......你都会是正确的,无论如何(至少是时光,无论如何...)
URL
乌里
一个 URI 通过位置或名称识别一个资源,或者两者。 更常见的是,我们大多数人使用定义一个资源的位置的 URI. 事实上,一个 URI 可以通过名称和位置识别一个资源,在我看来导致了很多混乱。
URL 和 URI 的区别
一个 URI 是某些资源的标识,但一个 URL 给你具体的信息,以获得这个资源. 一个 URI 是一个 URL 和一个评论家指出,它现在被认为是错误的使用 URL 当描述应用程序. 一般来说,如果 URL 描述一个资源的位置和名称,使用的术语是 URI. 因为这通常是我们大多数人每天遇到的情况, URI 是