URI、URL和URN的区别

dodomonster

前言

最近实习在维护前辈的代码的时候以及看书的时候看到需要获取链接的地方,会出现Uri这个词。网上一查才知道原来链接命名竟然有3种,而自己竟然一直只知道URL,真是孤陋寡闻。所以,今天写下这篇博客记录一下。

URi-统一资源标识符(为了与url区别此处把I写为小写i)

什么是URi

首先,什么是URi呢?URi,全称为uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。

Web上可用的每种资源-HTML文档、图像、视频片段、程序等都由一个通用资源标识符(即URI)进行定位。

URi一般由三部分组成:
1.访问资源的命名机制
2.存放资源的主机名
3.资源自身的名称,由路径表示

例子:http://www.dodomonster.com/ht...

这个URi是这样的:这是一个通过HTTP协议访问的资源,位于www.dodomonster.com上,通过路径"/html/html4"访问。

有的URi指向一个资源的内部。这种URi以"#"结束,并跟着一个anchor标识符(称为片段标识符)。例如,下面是一个指向section_2的URi:http://somesite.com/html/top....

绝对URi

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

相对URi

相对URi 不包含任何命名规范信息。它的路径通常指同一台机器上的资源。相对URi可能含有相对路径(如,"..."表示上一层路径),还可能包含片段标识符。为了说明相对URi,此处举一个例子:http://www.dodomonster.com/su...

下面的链接中使用了相对URi:suppliers
它扩展成完全的URi就是"http://www.dodomonster.com/suppliers.htm"
下面是一个图形的相对URi:<img src="../icons/logo.png" alt="logo">
它扩展成完全的URi就是"http://www.dodomonster.com/icons/logo.png"

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

URi用途

在HTML中,URi被用来:
1.链接到另一个文档或资源
2.链接到一个外部样式表或脚本
3.在页内包含图形、对象或applet
4.简历图像映射
5.提交一个表单
6.建立一个框架文档
7.引用一个外部参考
8.指向一个描述文档的metadata

URL-统一资源定位器

什么是URL

URL是uniform resource locator,统一资源定位器,它是一种具体的URi,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。通俗地说,URL是Internet上用来描述资源的字符串,主要用在各种www客户端和服务器程序是,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

URL的第一个部分http://表示要访问的文件的类型。在网上,这几乎总是使用http(超文本传输协议,hypertext transfer protocol-用来转换网页的协议);有时也使用ftp(文件传输协议,file transfer protocol-用来传输软件和大文件;telnet(远程登录),主要用于远程交谈以及文件调用等,意思是浏览器正在阅读本地盘外的一个文件而不是一个远程计算机。

URL组成

1.Internet资源类型(schema):指出www客户程序用来C作的工具。如"http://"表示www服务器,"ftp://"表示ftp服务器,"gopher://"表示Gopher服务器,而"new:"表示Newgroup新闻组。必需的。

2.服务器地址(host):指出www网页所在的服务器域名。必需的。

3.端口(port):有时(并非总是这样),对某些资源的访问来说,需给出相应的服务器提供端口。可选的。

4.路径(path):指明服务器上某资源的位置。与端口一样,路径并非总是需要的。可选的。

URL地址格式排列为:schema://host:port/path,如:http://www.maogoo.com/bbs
客户程序首先看到http(超文本协议),便知道处理的是HTML链接。接下来的wwww.maogoo.com是站点地址,最后是目录/bbs。

必须注意:www上的服务器都是区分大小写的,所以千万要注意正确的URL大小写表达形式

URN-统一资源名称

什么是URN

URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java-net@java.sun.com

URN是URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更精密软件的支持。

URi,URL,URN的区别与联系

URi:Uniform Resource Identifier,统一资源标识符;
URL:Uniform Resource Locator,统一资源定位符;
URN:Uniform Resource Name,统一资源名称。

  其中,URL,URN是URi的子集
也就是说,URi 是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URi。
  Web上地址的基本形式是URi,它代表统一资源标识符。有两种形式:
  URL:目前URi 的最普遍形式就是无处不在的URL或统一资源定位器。
  URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更精密软件的支持。
  URi:以某种统一的(标准化的)方式标识资源的简单字符串。

阅读 9.6k

前端菜鸟-DodoMonster
大家猴,我是一只好菜好菜的前端菜鸟-DodoMonster

DodoMonster want to be an excellent Web Font-End Developer.Fighting!!!

2.1k 声望
629 粉丝
0 条评论
你知道吗?

DodoMonster want to be an excellent Web Font-End Developer.Fighting!!!

2.1k 声望
629 粉丝
宣传栏