如何理解URI,URL,URN?

在Web领域,我们常见三个专业词汇URI,URL,URN,在这里我将对这3个概念进行分析,理清其内在逻辑。

URL

URL是统一资源定位符的缩写,它对网络中的资源的定位提供了一种统一方案。它的语法格式:

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<fragment>

URN

URN是统一资源名称的缩写,它对网络中的资源的名称提供了一种统一方案。它要求全球唯一,并在资源不存在或不再可用时依然保持不变。它的格式如下:

"urn:" <NID> ":" <NSS>

URN基于这样一种想法:就像人可能搬家一样但人的姓名一生几乎不会改变,网络中的URL是不会持久的,网络资源也可能被移动,导致URL失效,如果给资源也采用不会改变的名称URN,这样就能避免URL的失效问题。要实现这一点需要采取某些策略实现URN与实际资源的映射,但这里可以忽略。

20多年过去URN似乎并没实用价值,这是很正常的,技术发展中很多技术标准都沉默于历史

URI

URI是统一资源标志符的缩写,它是对URL和URN的统一化抽象,URI为识别资源提供了一种简单且可扩展的手段。其格式如下:

      URI         = scheme ":" hier-part [ "?" query ] [ "#" fragment ]

      hier-part   = "//" authority path-abempty
                  / path-absolute
                  / path-rootless
                  / path-empty

总结

本篇分析了URL,URN,URI的具体定义,理解三者的关键在于,理解"location","name","identifier"三个词的内涵。

由于URN没有实用价值,URL表示的是抽象概念,作为开发者的我们,对URI和URL的区别通常只在于命名,我的看法是:

  • 根据接口来命名,要什么,给什么
  • 在Web中通常需要的是具体的资源位置,因此一般使用URL

转载于:https://www.cnblogs.com/redreampt/p/9527791.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值