整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

URI,URL,URN详解

RI、URL和URN

URI :Uniform Resource Identifier,统一资源标识符

URL:Uniform Resource Locator,统一资源定位符

URN:Uniform Resource Name,统一资源名称。

其中,URL,URN是URI的子集。

URI

URI一般由三部分组成:

  1. 主机名
  2. 标识符
  3. 相对URI

URI是以某种统一的(标准化的)方式标识资源的简单字符串。

典型情况下,这种字符串以scheme(命名URI的名字空间的标识符——一组相关的名称)开头,语法如下:

[scheme:] scheme-specific-part

URI以scheme和冒号开头。Scheme用大写/小写字母开头,后面为空或者跟着更多的大写/小写字母、数字、加号、减号和点号。冒号把scheme与scheme-specific-part分开了,并且scheme-specific-part的语法和语义(意思)由URI的名字空间决定。如下面的例子:

http://域名

其中http是scheme,//域名 是scheme-specific-part,并且它的scheme与scheme-specific-part被冒号分开了。

URI有绝对和相对之分,绝对的URI指以scheme(后面跟着冒号)开头的URI。前面提到的http://域名 就是绝对的URI的一个例子,其它的例子还有mailto:xxx@xxx.xx、news:地址xyz://whatever。你可以把绝对的URI看作是以某种方式引用某种资源,而这种方式对标识符出现的环境没有依赖。如果使用文件系统作类比,绝对的URI类似于从根目录开始的某个文件的径。

与绝对的URI不同的,相对的URI不是以scheme(后面跟着冒号)开始的URI。 它的一个例子是articles/articles.html。你可以把相对的URI看作是以某种方式引用某种资源,而这种方式依赖于标识符出现的环境。如果用文件系统作类比,相对的URI类似于从当前目录开始的文件路径。

URL

URL是Uniform Resource Location的缩写,译为”统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

目前最大的缺点是当信息资源的存放地点发生变化时,必须对URL作相应的改变。因此人们正在研究新的信息资源表示方法,例如:URI(Universal Resource Identifier)即”通用资源标识”

URN

URN(Uniform Resource Name)即”统一资源名”和URC(Uniform Resource Citation)即”统一资源引用符”等。

URI还在进一步的研究当中。研究的方向就是弥补URL的缺点。

整理自百度百科。

浏览网页时,我们需要知道“网址”才能访问,这里说的“网址”通常就是指URL,比如:https://www.xydida.com/index.html,而平时也会说URIURN,那又是什么呢?今天就来捋一捋。

URL

Uniform Resource Locator,统一资源定位符,就是我们说的网址,标准格式如下:

协议类型有很多,常见的有httpftpfile等,既然代表一个资源,那么数据库连接字符串也算作URL,如:jdbc:datadirect:oracle://myserver:1521;sid=testdb

URN

Uniform Resource Name,统一资源名称,指互联网上某一独一无二的资源的名称,标准格式如下:

urn:<nid>:<nss>

开头的urn:序列大小写不敏感的。<nid>是命名空间标识,它是一个“命名空间特定”的字符串,决定了如何解释<nss>的句法,比如这个:urn:isbn:0-486-27557-4,指向的就是莎士比亚的戏剧《罗密欧与朱丽叶》的某一特定版本。

URI

Uniform Resource Identifier,统一资源标志符,是标志互联网上某一资源的字符串,它包含URLURN,如图:

所以,URN如同一个人的名称,URL代表一个人的地址。还是拿上面的ISBN 0-486-27557-4举例,它表示的是一本书,为了获得这本书的资源来阅读,就需要知道它的位置,也就是URL。更进一步,URN定义某事物的身份,而URL提供查找该事物的方法。

URL Scheme

这是ios在很久之前推出的为了在app间通信的一种特殊链接,就是我们常说的Deep Link,比如:taobao://market.m.taobao.com/app/tmall-def/daily-welfare/pages/index?wh_weex=true,在浏览器里输入这个链接就能直接打开淘宝APP的领红包页面,可以看到URL Scheme的协议字段是自定义的,一些其他的APP URL Scheme可以看我这篇文章,局限性,比如APP开发人员要维护两套逻辑,而且自定义的协议字段有可能被其他APP占用。

Universal Link

后来,由于URL Scheme的各种局限性,ios 9之后又推出了Universal Link,官网的解释如下:

Seamlessly link to content inside your app, or on your website in iOS 9 or later. With universal links, you can always give users the most integrated mobile experience, even when your app isn’t installed on their device.

通俗地讲,Universal Link可以让用户点击跳转的时候直接打开APP,并跳转到指定页面,这个和上面的Deep Link一样,只不过不用自定义协议字段,直接用通用的网址链接就可以打开APP,比如浏览器中输入https://www.xydida.com/post/2,浏览器会跳转到某个页面,同时如果安装了APP的话,就会直接打开APP对应的页面,是不是很厉害。


本文系原创,转载请注明出处。