这是一个经典的技术争议。很多人会问自己:URL,URI,可能还有骨灰盒。两者有什么区别?虽然现在URN和URL被简单地视为URIs,但严格地说,URIs可以进一步分为URL、URN或两者的组成部分,因此了解它们之间的差异可能是有趣和有益的。如果你碰巧在某个地区遇到这样的项目,你至少应该知道它们是什么意思。
我想,虽然对于普通人来说,不知道这三个缩略语之间的技术差异和各自的含义不是问题。但是,如果你是一个计算机生物学家,一个网页开发人员,一个网站管理员,或者更含糊的说,你从事IT行业,那么掌握这类专业知识是很有必要的。
这篇文章致力于清楚地解释URL、URI和URN之间的区别,并帮助您快速理解这些必要的专业知识。你是否也对这个话题的讨论感到困惑?所以,各位,现在开始!
原点
这三个缩写是由蒂姆·伯纳斯·李在名为RFC3986:统一资源标识符(URI):通用语法的文本文档中定义的互联网技术规范跟踪协议。
引用的参考文献:
统一资源标识符(URI)显示了一种简单且可扩展的资源识别方法。URI标准和英语语法中的词义来自于主动从万维网导入信息的定义。万维网从1991年开始应用这种标识符数据信息,它被描述为“万维网中的统一资源描述符”。
万维网的发明者蒂姆·伯纳斯·李也是万维网联盟(W3C)的负责人。照片由PaulClarke根据CCBY-SA4.0协议提供。
差异
首先明确一点:URL和urn都是URIs的非空子集。
换句话说,URL和urn都是URIs,但URIs不一定是URL或urn。为了更好地理解这个定义,请看下图。
根据下面的例子(来自维基百科),我们可以很好的知道URN和URL的区别。如果是一个人,大家都会记得他的名字和家庭住址。
URL类似于家庭地址。它告诉你一种找到总体目标的方法(在这种情况下,根据街道地址找到一个人)。据了解,这也是URI的定义。
相对来说,我们可以把一个人的名字当做骨灰盒;;因此,URN可用于唯一标记实体行。因为很有可能存在同名(同姓)的情况,名字的情况不太合适说得更确切。比较合适的是图书的ISBN码和系统软件中商品的序列号。虽然它没有告诉你使用哪种方法或在哪里找到总体目标,但它给了你足够的信息来找到它。来自这篇文章:
所有urn都遵循以下英语语法(必须使用冒号):
其中,NID是类名标识符,NSS是一个标记类名的特殊字符串数组。
一个例子来理解三个
我们来看看上面的定义是如何应用到与你息息相关的互联网技术上的。
再一次介绍维基百科,从引用文献中得到的表述比上面工作人员详细地址的例子更专业、更有技术含量:
关于URL:
URL是URI的一种,它不仅标记了Web资源,还指定了实际 *** 作或获取方式,强调了关键的浏览系统和网络位置。
骨灰盒相关:
URN是URI的一种,用特殊类名的名称来标记资源。URN可以在不知道其网络位置和浏览方式的情况下探索资源。
如今,如果你在网络上查找,你可以找到许多例子,这些例子比其他项目更令人困惑。我只展示一个的例子,更简单明了的告诉你,URI、URL、URN在互联网技术中是不一样的。
让我们来看看下面这个捏造的例子。这是一只URI:
大家刚开始分析。
是定义如何浏览资源的方法。此外
是资源存储的部分,那么,在这种情况下,
是资源。
URL是URI的非空子集,它告诉你如何浏览网络位置。在您的情况下,URL应该如下所示:
URN是URI的非空子集,它包含名称(在给定的类名内),但不包含浏览方法,如下所示:
就是这样。现在,您应该能够识别URL和URN之间的区别。
如果你忘记了这篇文章的内容,至少记住一件事:URI可以分为网址,骨灰盒或两者兼有。如果你一直使用专业术语URI[/s2/],就不容易出错。
为了更好地纠正一些不准确的地方,这篇文章已经升级了。如果你发现新的东西是不正确的,无论是在技术上还是在英语语法上,请不要犹豫告诉大家!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)