一文搞懂URI与URL

URI作为统一资源标识符,关注于唯一标识资源,而URL是统一资源定位符,侧重于提供资源的具体访问路径。URI可以是相对的,URL必须是绝对的。两者关系为URL是URI的子集。博客通过身份证号和学号的例子解释了URI的相对性和绝对性,并通过人类查找协议展示了URI转换为URL的形式。URI的相对性在URL中体现为路径的相对引用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

侧重点不同

URI 在于I(Identifier)是统一资源标示符,可以唯一标识一个资源。
URL 在于Locater,是统一资源定位符,提供找到该资源的确切路径

URI不要求确切的格式,只要能在一定条件下唯一标识一个资源即可,比如你是一名在读大学生,身份证号123456,学号654321,就读于xx大学yy学院zz专业,那么在Q国用来标识你的URI可以是:

1)身份证号:123456
2)/xx大学所在省/市/xx大学/yy学院/zz专业/654321

这两种方式都成功的在中国境内标识了你这个唯一的人
这里一直强调“Q国境内”,在于URI可以是相对的,也可以是绝对的

简单来说,URI强调一定条件下进行唯一标识,这里的“一定条件”如上述“Q国境内”,若把范围扩大到整个地球,相当于网络中的绝对URI(也是URL,且URL只能是绝对的),并以web网址的形式描述一下呢:

人类查找协议://地球/Q国/xx大学所在省/市/xx大学/yy学院/zz专业/654321

这也是一个URI,同时它也是URL,URL强调定位,即通过某路径确切找到资源,确保可以访问到资源,而URI强调标识。
总结一下:
1)URL是URI的子集,我们所看到的URL是一种特殊的URI,它是URI的一种实现形式,也即一个URL一定是一个URI,但URI不一定是URL
2)URL是绝对的,于整个网络而言,一个提供访问到确切资源的链接是一个URL(也属于URI)
3)URI既有相对性又有绝对性,从RFC 3986 的 4.2. Relative Reference来看:

没有最前面的scheme(就是http:, ftp: 之类的)的URI都是相对引用,www.example.com/abc.html也是个相对引用。相对引用又分为 绝对路径引用 和 相对路径引用,这个划分就和我们分辨文件系统中的相对/绝对路径差不多了: 以 ‘/’ 开头的就是绝对路径引用,否则就是相对路径引用

关于URI的相对性(一定条件)便于理解可以这么来记:
如一个URL(绝对URI):
http://aa/bb/cc/dd/ee/1.html
相对于http://aa/bb/cc/dd,这个1.html文件的URI就是/ee/1.html
相对于http://aa/bb,这个1.html的URI就是/cc/dd/ee/1.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

涛涛ALG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值