聊聊 URL、URI、URN 有什么区别?

更新日期: 2022-06-07 阅读: 1.7k 标签: url

一、URL

URL 全称为 Uniform Resource Locator,意为统一资源定位符。URL 是一串字符串,这些字符可以是字母,数字和特殊符号。 URL 是给定唯一资源的地址,指向该唯一资源的位置。

URL的语法如下:


  • scheme:通信协议,包括HTTP、HTTPS、FTP、MAILTO、IRC、FILE等。
  • authority包含两部分:
  • host:主机,服务器(计算机)域名系统(DNS),主机名或IP地址。
  • port:端口号,可选,省略时是默认端口,如HTTP的默认端口是80,HTTPS 的默认端口是 443。
  • path:路径,用来表示主机上的一个目录或者文件地址。
  • query:查询的参数,多个参数由 “&” 隔开,每个参数的名和值用“=”号隔开。如:age=18。
  • fragment:信息片段,在给定页面内跳转的目标。

URL 的例子:

http://website.com/path/to/page
https://website.com/path/here?name=html#head
http://website.com:5500/path/here

那URL和链接又是什么关系呢?虽然这两个术语通常是可以互换使用的,但是从技术上讲,它们并不是同义的。URL是一个字符串,可以用于定位资源,而链接(超链接的缩写)是一种HTML元素,可以从浏览器中的给定 URL 加载资源。所以,链接依赖于URL,没有链接的URL也可以存在,但是没有URL的链接是没有意义的。

二、URI

URI 全称为 Uniform Resource Ideyintifier,意为统一资源标识符。URI 是一种标准方法,用于通过Location、Name或两者来识别资源。URI 有两个子集,即 URL 和URN。


URI 的语法如下:


可以看出来,URI 和 URL 的语法主要区别在于 authority,它包含三个内容:

  • User info:可选,可能包含用户名和密码(可选),由冒号 (:) 分隔,后跟 @ 符号。
  • Host:域名或者IP地址。
  • Port:指向域或 IP 地址的端口号。

URI 的例子:

mailto:hey.john@website.com
file:website.com/pathtofile/intro.pdf
https://john@website.com:5052/path/to/page

URI 和 URL 都遵循相同的规范:RFC 3986。但是,URL 可以定位资源,URI 只是标识资源。所有的 URL 都可以是 URI,但不能所有的 URI 都是 URL,因为 URI 包含 URL 和 URN。

三、URN

URN 全称为 Uniform Resource Name,意为统一资源名称。统一资源名称提供有关资源本身的信息,仅包括资源的名称或标识,但不提供用于访问资源的协议或地址。其会以永久的方式来标识资源,即使该资源不再存在。它通过名称在给定的命名空间中标识资源,命名空间是指一组名称或标识符。

URN 的语法如下:


  • scheme: 方案规范(**urn:**)不区分大小写。
  • NID: 名称空间标识符,可以包括字母、数字和连字符 (-),后跟冒号 (:)。
  • NSS: 特定于命名空间的字符串。NSS 可能包含 ASCII 字母、数字、标点符号和特殊字符。

下面是一些特定名称空间的 NID 编号:

NID

命名空间

含义

Isbn

International Standard. Books Number

图书的唯一标识符

Issn

International Standard Serial Number

期刊的唯一标识符

Uuid

Universally Unique Identifier

计算机系统内的唯一信息标识符

Isan

International Standard Audiovisual Number

电影等视听作品的唯一编号

URN 的例子:

urn:website:language:html:head
urn:isan:0000-0000-2CEA-0000-1-0000-0000-Y
urn:ISSN:0167-6423

与 URL 不同,URN 不提供任何有关定位资源的信息,而只是标识它。比如书籍的ISBN码就属于URN,它用来标识某一本书,但它不是URL,因为它没有指定如何检索该书。

四、总结

URL、URI、URN 的区别如下:

  • URL和URN都是URI的子集。
  • URL: 用来标识网络资源,指定了操作或获取方式,同时包含访问机制和网络位置。
  • URN:用特定命名空间的名字标识资源。包括名字(给定的命名空间),但不包含访问方式。

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

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

相关推荐

短网址(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进行简单地解析即可。

点击更多...

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