URI、URL、URN联系区别与用法

在Web领域,经常会见到几个专业术语,URL、URI以及URN

它们都是用来定位资源的标识符,但用法又有一些区别

URI

URI(Uniform Resource Identifier)中文全称  统一资源标识符,是由因特网工程任务组(IETF)的标准RFC 3986定义的,它是用于标识互联网上的资源的字符串

RFC 3986 - 统一资源标识符 (URI):通用语法 (ietf.org)

在RFC 3986标准中1.1.3小节有这样一段话:

1.1.3.  URI, URL, and URN

   A URI can be further classified as a locator, a name, or both.  The
   term "Uniform Resource Locator" (URL) refers to the subset of URIs
   that, in addition to identifying a resource, provide a means of
   locating the resource by describing its primary access mechanism
   (e.g., its network "location").  The term "Uniform Resource Name"
   (URN) has been used historically to refer to both URIs under the
   "urn" scheme [RFC2141], which are required to remain globally unique
   and persistent even when the resource ceases to exist or becomes
   unavailable, and to any other URI with the properties of a name.

Web上可用的每种资源( 文档、图像、音频、视频、程序等)都由一个URI进行定位,URI包括URL和URN两种形式

URI只是一种抽象的概念,怎样实现无所谓,只要它唯一标识一个资源,它就可以称之为URI,而它的具体表现形式有用地址定位的URL用名称定位的URN

URL

URL(Uniform Resource Locator)中文全称  统一资源定位符,它定位了互联网上标准资源的地址

URL有一定的格式,常用格式为:

scheme://host[:port#]/path/…/[;url-params][?query-string][#anchor]

  • schme是协议名,表明了浏览器使用哪种协议,最常用的是http和https两种
  • host是域名,表明正在请求哪个 Web 服务器
  • :port是端口,表示用于访问 Web 服务器上的资源的技术“门”,如果 Web 服务器使用 HTTP 协议的默认标准端口(HTTP 为 80,HTTPS 为 443)来授予其资源的访问权限,则通常会被忽略
  • path是访问资源的路径,在 Web 的早期阶段,像这样的路径表示 Web 服务器上的物理文件位置。如今它主要表示在逻辑上由 Web 服务器处理的文件
  • url-params是提供给网络服务器的额外参数。这些参数是用 & 符号分隔的键/值对列表。在返回资源之前,Web 服务器可以使用这些参数来执行额外的操作
  • query-string是发送给服务器的数据
  • anchor是资源本身的另一部分的锚点。锚点表示资源中的一种“书签”,给浏览器显示位于该“加书签”位置的内容的方向

具体使用和示例不再赘述,详细查看:

什么是 URL? - 学习 Web 开发 | MDN (mozilla.org)

URN

URN(Uniform Resource Name)中文全称  统一资源名称,也是URI的一种,它是用来给资源一个独一无二的名称,但不包括位置信息

URN的格式通常包括了命名空间标识符和特定资源的名称,希望为资源指定一个持久的、独一无二的名称,以便在不同的环境中使用

URN 并不关注这个表示名称里是否隐含了该资源的位置,或者如何获取它,也不一定代表该资源一定可用

举个例子,在ISBN(国际标准书号)系统中,一个编号 2-02-033598-0 代表了一个书本资源

使用 URN 查找这本书可以表示为 urn:isbn:2-02-033598-0,但是这个编号并没有给出在哪里或者如何找到这本书,它只能唯一标识这本书

总结

URL用于在网络中使用特定格式的地址定位资源,URN用于给资源一个独一无二的名称,而URI则是一个更加通用的概念,包括了URL和URN

在实际应用中,我们会经常使用URL来访问网页、下载文件等,而URN则更多的用于标识一些特定的资源,而URI只是作为一种表示形式存在

  • 12
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值