图解URL、URI和URN 区别

更新日期: 2021-07-18 阅读: 3.2k 标签: url

作为一名开发人员,特别的前端开发人员,已经无数次的听到过 URL 和 URI,对于 URN 可能听过的要少点,那么它们之间有什么区别呢?本文带大家巩固一下基本概念。

什么是URL?

统一资源定位符(Uniform Resource Locator,缩写:URL),是对资源的引用和访问该资源的方法。俗称网址,就是浏览器地址栏里面的。


一个 URL 由以下不同的部分组成:

  • 协议:通常是 https 或 http,一种告诉浏览器或者设备如何访问资源的方法,当然还有其他的协议,如 ftp 、mailto 或者 file。
  • 接下来是 :// 。
  • 主机名:表示 IP 地址的注册名称(域名) 或 IP 地址,用于识别连接到网络的设备的数字标识符。
  • 后面是可选的端口好,前面是冒号 : 。
  • 路径:可以引用文件系统路径,通常作为一个代码段使用。
  • 参数:以问号开头的可选查询参数,其中多个参数用 & 连接
  • hash:用于为页面上的标题提供快速链接,如锚点链接。

上面是 URL 组成部份的简介,为了更加直观,如下图所示:


什么是URI?

上面介绍了 URL 是如何构成的,现在来介绍一下什么是 URI,与 URL 类似,统一资源标志符(Uniform Resource Identifier,缩写:URI),提供了一种识别资源的方法。但与 URL 不同的是,URI 不提供定位所述资源的方法。

URI 的最常见的形式是统一资源定位符(URL),经常指定为非正式的网址。由此,可以看出 URI 是 URL 的超集,并且每个 URL 本质上也是一个 URI。

什么是URN?

统一资源名称(Uniform Resource Name,缩写:URN)是统一资源标识(URI)的历史名字,使用 urn: 作为 URI 方案。

URN 也是 URI 的子集。URN 的一个最好的例子是 ISBN 号,它被用来唯一地识别一本书。URN 与 URL 完全不同,因为它不包含任何协议。

URL和URI的差异

在前面《JavaScript中的Set数据操作》中介绍过使用 Set 求子集,其实URL和URI的差异就是一个子集的关系,如下图:


实际上,URL是URI的一种类型,它包括关于如何访问资源的信息。在 RFC3986 中的这样一句话:

术语“统一资源定位器”(URL)指的是 URI 的子集,除了标识资源外,它还通过描述资源的主要访问机制提供了一种定位资源的方法。

URI、URN、URL

从集合的角度来考虑,URN 和 URL 都是 URI 的子集,如图所示:


下面以一个网址为例,清晰的展示URI、URN、URL 三者的内容,可以更加直观的反应三者的关系:


从概念上总结三者的关系的话,如图:


URL :指定位置的 URI URN :指定名称的 URI URI :同时指定名称和位置的 URI

总结

作为 Web 开发人员,日常有必要去了解并熟悉一些常用的专业术语及缩写,对于这些术语设计的技术概念理解越深,是有助于提升开发技能。

本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!

链接: https://fly63.com/article/detial/10546

相关推荐

短网址(short URL)的实现_如何生成短链接URL?

什么是短链接 ?就是把普通网址,转换成比较短的网址。好处不言而喻:短、字符少、美观、便于发布、传播。所以如何来优雅的生成足够短的字符串唯一ID呢?

qs.js_更好的处理url参数

一次接触qs这个库,是在使用axios时,用于给post方法编码,在使用过程中,接触到了一些不同的用法,写在这里分享一下:qs.parse、qs.stringify、排序、指定数组编码格式、处理json格式的参数

window.URL对象的使用方式

window对象的URL对象是专门用来将blob或者file读取成一个url的。这个url可以用在html的任何可以使用url的地方,比如img的src ; audio/video的src和source标签等。

URL中%2F,%2B等特殊字符

有些符号在URL中是不能直接传递的,如果要在URL中传递这些特殊符号,那么就要使用他们的编码了。 编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。

html 获取url地址_js获取当前页面的url网址信息汇总

在WEB开发中,时常会用到javascript来获取当前页面的url网址信息,在这里是我的一些获取url信息的小总结。window.location.href(设置或获取整个 URL 为字符串),window.location.protocol(设置或获取 URL 的协议部分)

短网址(short URL)系统的原理及其实现

做一个短链接生成器,可以将一个长链接缩短成一个短链接。就是把普通网址,转换成比较短的网址。好处不言而喻。短、字符少、美观、便于发布、传播。

URL的组成和含义

当您点击 HTML 页面中的某个链接时,对应的 <a>标签指向万维网上的一个地址。 统一资源定位器(URL)用于定位万维网上的文档(或其他数据)。

什么是网址?

网址通常指因特网上网页的地址。企事业单位或个人通过技术处理,将一些信息以逐页的方式储存在因特网上,每一页都有一个相应的地址,以便其他用户访询而获取信息资料,这样的地址叫做网址。

JS获取URL中参数值的4种方法

我们在做页面跳传参的时候有时候需要处理传过来的参数进行匹配数据(一般用于详情页),一开始我想的是通过split进行分割获取,但是在实际开发过程中觉得有点单一

静态网站如何获取Get参数,通过js获取url的参数数据的实现方式

不使用动态语言php,java等,直接通过js获取链接中传递的get数据的方法总结。javascript可以获取当前页面的url 只要对获取下来的url进行简单地解析即可。

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!