一个 URL、一个 URI 和一个 URN 的区别是什么?
当前回答
我喜欢在思考URI时使用的另一个例子是XML文件的xmlns属性:
<rootElement xmlns:myPrefix="com.mycompany.mynode">
<myPrefix:aNode>some text</myPrefix:aNode>
</rootElement>
在这种情况下,com.mycompany.mynode 将是一个独特识别“myPrefix”名称空间的 URI 对所有在我的 XML 文档中使用的元素。
其他回答
最好的(技术)总结 imo 是这个一个
统一资源识别器是识别一个抽象或物理资源的字符的紧凑序列. 字符集仅限于US-ASCII 排除一些保留字符. 允许字符集之外的字符可以使用百分比编码来代表。
URL
IRI is a superset of URI (IRI ⊃ URI)
URI is a superset of URL (URI ⊃ URL)
URI is a superset of URN (URI ⊃ URN)
URL and URN are disjoint (URL ∩ URN = ∅)
关于Semantic Web问题的结论
简而言之:一个 URI 会识别,一个 URL 会识别和找到。
考虑到莎士比亚的游戏罗密欧和朱丽叶的具体版本,你在你的家庭网络上有一个数字副本。
您可以将文本定义为 urn:isbn:0-486-27557-4. 这将是一个 URI,但更具体的是一个 URN* 因为它命名文本。
您也可以将文本定义为 file://hostname/sharename/RomeoAndJuliet.pdf. 这也将是一个 URI,但更具体的是一个URL,因为它会找到文本。
* 统一资源名称
(请注意,我的例子是从维基百科调整的)
首先,把你的头脑脱离混乱,把它简单,你会明白。
URI => 统一资源识别器 识别一个完整的资源地址 i-e 位置,名称或两者。
URL => Uniform Resource Locator 指定资源的位置。
URN => 统一资源名称 识别资源名称
例子
我们有一个地址 https://www.google.com/folder/page.html 在哪里,
URI(统一资源识别器) => https://www.google.com/folder/page.html
URL(Uniform Resource Locator) => https://www.google.com/
URN(统一资源名称) => /folder/page.html
URI => (URL + URN) 或 URL 仅或 URN 仅
原来,URI计划分为URL(地址)和URN(名称),但然后有一个URL和URI之间很少的差异,而HTTP URI被用作名称空间,尽管它们实际上没有找到任何资源。
请参见本文,具体而言,
URL 是一个类型的 URI,通过其主要访问机制(例如,其网络“位置”)的代表来识别一个资源,而不是它可能具有某些其他属性。
这不是一个非常清晰的术语,真的。