对计算机网络中URI URL URN的理解

Posted gtscool

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对计算机网络中URI URL URN的理解相关的知识,希望对你有一定的参考价值。

问题背景

在看图解HTTP一书中,看到了URI和URL两个概念.有些迷糊,于是乎网上查了相关资料并作博客记录下来备忘.(又在网上查到URN的概念??).




具体描述

首先需要了解英文原意,能够帮助我们更好的具象化这些抽象概念

  • URI(Uniform Resource Identifier) 统一资源标识符的缩写
-- RFC2396 分别对这 3 个单词进行了如下定义。

Uniform:固定统一的格式可方便处理多种不同类型的资源,而不用根据上下文环境来识别资源指定的访问方式.另外新增加的协议方案也更容易(如http: ftp:)
Resource:资源定义是‘可以标识的任何资源‘.这里的主语是可被计算机标识的任何资源
Inentifier:标识可标识的对象,也称为标识符.

  • URN统一资源名称(英语:Uniform Resource Name,缩写:URN)是统一资源标识(URI)的历史名字,它使用urn:作为URI scheme。为了确保URN命名空间的全局唯一性,URN的标识(NID)必须在IANA注册。已注册命名空间可能是“正式”或“非正式”的。 --wiki

  • URL(Uniform Resource Locator统一资源标识符).URL正是使用 Web 浏览器等访问 Web 页面时需要输入的网页地址。

  • 关于以上两者的对比(知乎):
    统一资源标志符URI就是在某一规则下能把一个资源独一无二地标识出来。拿人做例子,假设这个世界上所有人的名字都不能重复,那么名字就是URI的一个实例,通过名字这个字符串就可以标识出唯一的一个人。现实当中名字当然是会重复的,所以身份证号才是URI,通过身份证号能让我们能且仅能确定一个人。那统一资源定位符URL是什么呢。也拿人做例子然后跟HTTP的URL做类比,就可以有:动物住址协议://地球/中国/浙江省/杭州市/西湖区/某大学/14号宿舍楼/525号寝/张三.人可以看到,这个字符串同样标识出了唯一的一个人,起到了URI的作用,所以URL是URI的子集。URL是以描述人的位置来唯一确定一个人的。在上文我们用身份证号也可以唯一确定一个人。对于这个在杭州的张三,我们也可以用:身份证号:123456789来标识他。所以不论是用定位的方式还是用编号的方式,我们都可以唯一确定一个人,都是URl的一种实现,而URL就是用定位的方式实现的URI。回到Web上,假设所有的html文档都有唯一的编号,记作html:xxxxx,xxxxx是一串数字,即Html文档的身份证号码,这个能唯一标识一个Html文档,那么这个号码就是一个URI。而URL则通过描述是哪个主机上哪个路径上的文件来唯一确定一个资源,也就是定位的方式来实现的URI。对于现在网址我更倾向于叫它URL,毕竟它提供了资源的位置信息,如果有一天网址通过号码来标识变成了http://741236985.html,那感觉叫成URI更为合适,不过这样子的话还得想办法找到这个资源咯…

个人理解

URI是统一资源标识符的意思.统一的意思就是统一遵从的规则.具有唯一性.URI是定义了这种规范.

而URL是具体实现方式的一种.以一种具体路径的表达方式来描述这种资源.

URN: 一个机构给资源起的名字.这个名字具有唯一性.也是URI的实现方式之一.起名字的机构叫做IANA



参考

以上是关于对计算机网络中URI URL URN的理解的主要内容,如果未能解决你的问题,请参考以下文章

什么是URI,URL以及URN,你真的理解了吗。

URI URL URN 的区别

uri,url.urn

URL,URI和URN的理解

URI URL URN 理解

URL diff URI