【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦!
这是一个经典的技巧争辩,很多人都邑自问:URL、URI,很可能还有URN,它们之间的差别是什么。固然,如今我们简单地把 URN 和 URL 都看做 URI,但严格来说URI可以进一步划分为URL、URN或者这两者的组合,所以懂得这三者之间的差别将会异常有趣并让人受益匪浅。如不雅你正好在某个处所碰着了这些器械,那么至少应当知道它们的含义。
我认为,尽管对一般仁攀来说,不懂得这三个缩略词之间的技巧差别以及它们各自的含义并不是什愦问题。然则,如不雅你作为一个计算机科学家、一个Web开辟者、一个体系治理员,或者更笼统地说,你工作在IT范畴,那么懂得这些常识就异常有须要了。
来源
这三个缩略词是Tim Berners-Lee在一篇名为RFC 3986: Uniform Resource Identifier (URI): Generic Syntax的文档中定义的互联网标准追踪协定。
引文:
同一资本标识符(URI)供给了一个简单、可扩大的资本标识方法。URI规范中的语义和语法来源竽暌冠万维网全球信息主动惹人的概念,万维网大年夜1990年起应用这种标识符数据,并被描述为“万维网中的同一资本描述符”。
Tim Berners-Lee ,万维网的创造者,同时也是万维网联盟(W3C)的负责人。照片由 Paul Clarke 遵守CC BY-SA 4.0 协定供给。
差别
起首我们要弄清跋扈一件事:URL和URN都是URI的子集。
换言之,URL和URN都是URI,然则URI不必定是URL或者URN。为了更好的懂得这个概念,看下面这张图片。
经由过程下面的例子(源自 Wikipedia),我们可以很好地舆解URN 和 URL之间的差别。如不雅是一小我,我们会想到他的姓名和住址。
URL类似于住址,它告诉你一种寻找目标的方法(在这个例子中,是经由过程街道地址找到一小我)。要知道,上述定义同时也是一个URI。
相对地,我们可以把一小我的名字看作是URN;是以可以用URN来独一标识一个实体。因为可能存在同名(姓氏也雷同)的情况,所以更精确地说,人名这个例子并不是十分恰当。更为恰当的是书本的ISBN码和产品在体系内的序列号,尽管没有告诉你用什么方法或者到什么处所去找到目标,然则你有足够的信息来检索到它。引自这篇文┞仿:
所有的URN都遵守如下语法(引号内的短语是必须的):
< URN > ::= "urn:" < NID > ":" < NSS >
一个用于懂得这三者的例子
我们来看一下上述概念若何应用于与我们互相干注的互联网。
关于URL:
就是如许。如今你应当可以或许辨别出URL和URN之间的不合。
URL是URI的一种,不仅标识了Web 资本,还指定了操作或者获取方法,同时指出了重要拜访机制和收集地位。
关于URN:
URN是URI的一种,用特天定名空间的名字标识资本。应用URN可以在不知道其收集地位及拜访方法的情况下评论辩论资本。
如今,如不雅到Web上去看一下,你会找出很多例子,这比其他器械更轻易让仁攀困惑。我只展示一个例子,异常简单清跋扈地告诉你在互联网中URI 、URL和URN之间的不合。
个中NID是定名空间标识符,NSS是标识定名空间的特定字符串。
我们一路来看下面这个虚构的例子。这是一个URI:
http://bitpoetry.io/posts/hello.html#intro
我们开端分析
http://
http://bitpoetry.io/posts/hello.html
是定义若何拜访资本的方法。别的
bitpoetry.io/posts/hello.html
是资本存放的地位,那么,在这个例子中,
#intro
是资本。
URL是URI的一个子集,告诉我们拜访收集地位的方法。在我们的例子中,URL应当如下所示:
URN是URI的子集,包含名字(给定的定名空间内),然则不包含拜访方法,如下所示:
这篇文┞仿旨在于清跋扈地讲解URL、URI和URN之间的差别,赞助你快速懂得这些必备常识。你是不是对这个话题也认为困惑?那么我们开端吧!
bitpoetry.io/posts/hello.html#intro
如不雅你忘记了这篇文┞仿的内容,至少要记住一件事:URI可以被分为URL、URN或两者的组合。如不雅你一向应用URI这个术语,就不会有错。
再次引用Wikipedia ,这些引文给出的解释,比膳绫擎人员地址的例子更为专业:
为了改┞俘一些缺点,已经更新了这篇文┞仿。如不雅你发明新的缺点,无论是技巧上的┞氛样语废喔赡,请不要迟疑,告诉我们吧!
【编辑推荐】
- 最经典的前端面试题之一,你能答出什么幺蛾子?
- 早年端小白到技巧专家,这里有3点可履行的建议
- React全家桶与前端单位测试艺术
- 十个免费的web前端开辟对象 – Envato – Medium
- 纯前端实现人脸辨认-提取-合成
推荐阅读
【沙龙】51CTO诚邀您9月23号和多位技巧大年夜咖一路聊智能CDN的优化之路,抓紧时光哦! Win10体系若何加快菜单显示速度?微软为了出现Win10体系的不合体验,在各类窗口中采取菜单栏延迟显示>>>详细阅读
地址:http://www.17bianji.com/lsqh/37499.html
1/2 1