HTTP 协议中 URI 和 URL 有什么区别

统一资源标志符 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,毕竟它提供了资源的位置信息,如果有一天网址通过号码来标识变成了 ,那感觉叫成 URI 更为合适.不过这样子的话还得想办法找到这个资源咯…

 

 

转载:https://www.zhihu.com/question/21950864

 

posted @   变体精灵  阅读(98)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-12-02 Linux 安装 Nginx
2020-12-02 Nginx 入门
2020-12-02 Linux rz / sz 命令
点击右上角即可分享
微信分享提示