URL、URI和URN

这篇文章旨在于清楚地讲解URL、URI和URN之间的区别,帮助你快速理解这些必备知识。你是不是对这个话题也感到困惑?那么我们开始吧!

起源

这三个缩略词是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 >

其中NID是命名空间标识符,NSS是标识命名空间的特定字符串。

一个用于理解这三者的例子

我们来看一下上述概念如何应用于与我们息息相关的互联网。

再次引用Wikipedia ,这些引文给出的解释,比上面人员地址的例子更为专业:

关于URL:

URL是URI的一种,不仅标识了Web 资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置。

关于URN:

URN是URI的一种,用特定命名空间的名字标识资源。使用URN可以在不知道其网络位置及访问方式的情况下讨论资源。

现在,如果到Web上去看一下,你会找出很多例子,这比其他东西更容易让人困惑。我只展示一个例子,非常简单清楚地告诉你在互联网中URI 、URL和URN之间的不同。

我们一起来看下面这个虚构的例子。这是一个URI:

http://bitpoetry.io/posts/hello.html#intro

我们开始分析

http://

是定义如何访问资源的方式。另外

bitpoetry.io/posts/hello.html

是资源存放的位置,那么,在这个例子中,

#intro

是资源。

URL是URI的一个子集,告诉我们访问网络位置的方式。在我们的例子中,URL应该如下所示:

http://bitpoetry.io/posts/hello.html

URN是URI的子集,包括名字(给定的命名空间内),但是不包括访问方式,如下所示:

bitpoetry.io/posts/hello.html#intro

就是这样。现在你应该能够辨别出URL和URN之间的不同。

如果你忘记了这篇文章的内容,至少要记住一件事:URI可以被分为URL、URN或两者的组合。如果你一直使用URI这个术语,就不会有错。

原文地址:https://www.cnblogs.com/qianphong/p/10520471.html

时间: 2024-10-01 06:49:55

URL、URI和URN的相关文章

什么是URL,URI或URN?

什么是URI? 每个Web服务器资源都有一个名字,这样客户端就可以说明它们感兴趣的资源是什么了. 服务器资源名被称为统一资源标识符(Uniform Resource Identifier, URI). URI就像因特网上的邮政地址一样, 在世界范围内唯一标识并定位信息资源. 这是Joe的五金商店的Web 服务器上的一个图片资源的URI: http://www.joes-hardware.com/specials/saw-blade.gif URI有两种格式,分别称为URL和URN. 什么是URL

URL,URI和URN的理解

我想很多人和我一样弄不清楚URI和URL之间的区别,有人可能觉得这是统一概念的不同表述而已. 我们先看看定义: URI:Uniform Resource Identifier,即统一资源标志符,用来唯一的标识一个资源. URL:Uniform Resource Locator,统一资源定位符.即URL可以用来标识一个资源,而且还指明了如何locate这个资源. URN:Uniform Resource Name,统一资源命名.即通过名字来表示资源的. 好了定义看完了,可能还是不理解下面我们就详细

你知道URL、URI和URN三者之间的区别吗

这是一个经典的技术争论,许多人都会自问:URL.URI,很可能还有URN,它们之间的区别是什么.虽然,现在我们简单地把 URN 和 URL 都看做 URI,但严格来说URI可以进一步划分为URL.URN或者这两者的组合,所以了解这三者之间的区别将会非常有趣并让人受益匪浅.如果你恰好在某个地方碰到了这些东西,那么至少应该知道它们的含义. 我认为,尽管对一般人来说,不了解这三个缩略词之间的技术差异以及它们各自的含义并不是什么问题.但是,如果你作为一个计算机科学家.一个Web开发者.一个系统管理员,或

URI与URN与URL详解

当没有URI时 什么是URI和URN和URL URI详解 Uniform Resource Identifier 统一资源标识符 URI的组成 案例: https://tools.ietf.org/html/rfc7231?test=1#page-7 原文地址:https://www.cnblogs.com/wqbin/p/12080413.html

web应用 http 响应 url uri

动态web  应用结构 WEB-INF --classes --lib web.xml     响应:   url   uri

URL、URI和URN三者之间的区别

URI   统一资源标识符 Uniform Resource Identifier URL      统一资源定位符     Uniform Resource Locator URN     统一资源名称 Uniform Resource Name Wikipedia: URL: URL是URI的一种,不仅标识了互联网资源,还指定了操作或者获取方式,同时指出了主要访问机制和网络位置. URN: URN是URI的一种,用特定命名空间的名字标识资源.使用URN可以在不知道其网络位置及访问方式的情况下

两句话搞懂 url,uri,urn 区别

<cnmm22 动感原创:http://blog.csdn.net/cnmm22/article/details/44833045> 理解这个问题依然要站在设计者的角度而不是使用者 作为使用者,只关心如何去找到一个资源 而设计者在解决这个问题的时候则要考虑多种情形,考虑不周则有可能找不到 所有跟定位一个资源相关的信息都是URI 假设URL能找到资源了,OK,URI就是URL 在本地应用场合,URI可能只代表一个相对路径,能找到资源就行,这时一个相对路径也是URI,因为它定位了一个资源 有一种情

URL URI URN的区别

下面这张图可以完美的解释他们三者之间的关系 URI包含URL和URN Uniform Resource Identifier :统一资源标志符,用于标识某一互联网资源 Uniform Resoutce Location:通一资源定位符,用于表示资源的地点,它提供了一种互联网上任意资源的手段,也是浏览器寻找服务器资源所需的信息. 原文地址:https://www.cnblogs.com/katydids/p/9955586.html

前端 — URL、URI、URN概念和区别整理,以及URL语法规则

URL(Uniform Resource Locator),统一资源定位符.表示了互联网上资源的位置,同时也可选择性携带资源的访问方法.但是不确定该位置是否有相应的资源,若资源位置做过变动,之前的URL将无法访问到该资源. 一般由三部分组成(文章下面待会详述): 1.协议(或称为服务方式) 2.存有该资源的主机地址(和端口号) 3.资源在该主机中的具体地址(目录.文件名) http://www.jaykoo.com:80/my/url/location.html ----------------