uri,url,urn的含义和区别是什么?

一 含义

  1. uri:统一资源标识符,全称:Uniform Resource Identifier。是一种网络资源描述方式,解决的问题是:如何在网络上标识一个资源?这些资源包括各种文本,图片,音视频等。
  2. url:统一资源定位符,全称:Universal Resource Locator。是uri中的一种,即一种描述和定位资源的方式。url是uri的一种。url的形式类似这样:
    http://www.baidu.com/picture/apple.jpg。
  3. urn:统一资源名,全称:Universal Resource Name。是另一种形式的uri,用另一种形式去描述和标识互联网上的一个资源。urn的形式类似这样:
    urn:baidu:picture:apple.jpg。

二 区别

三者之间的关系是下图:
在这里插入图片描述
uri可以类比为人类语言,url可以类比为英语,urn可类比为汉语。

url是当前使用最为广泛的互联网资源标识方式,即最常见的uri,它是用层级目录的方式唯一的标识一个资源。由于采用了层级目录方式,所以它有一个缺点:使用url标识的资源不能移动位置,哪怕是改变了一层目录,这个url也会失效,客户端在访问这个资源时,就会报404错误。

urn是全网唯一标识,与目录无关,也就是说,使用URN方式标识的资源,可以随意移动位置。当客户端访问该资源时,只要知道这个资源的urn,就可以找到这个资源。由于这项技术还在发展中,应用范围有限,所以不常见。

就像人类语言不只有英语和汉语一样,uri中也不仅仅有url和urn,还会有其他形式的统一资源标识符。

三、另一个例子

作者:daixinye
链接:https://www.zhihu.com/question/21950864/answer/154309494
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

统一资源标志符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更为合适,不过这样子的话还得想办法找到这个资源咯…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值