天天看点

URI和URL的区别

曾经我天真的以为URI和URL是一样的,只是不同叫法而已,然后某一天有人告诉我这两个不一样,so我发现是时候好好研究一下这两个概念了。

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

URL:Uniform Resource Location统一资源定位符

通俗地说,URL和URN是URI的子集,URI属于URL更高层次的抽象,一种字符串文本标准。

三者关系如下图:

URI和URL的区别

图示

上面虽然大概介绍了这两者的区别,不过感觉还是有些模糊,下面着重研究区别。

首先,URI,是统一资源标识符,用来唯一的标识一个资源。而URL是统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。而URN,统一资源命名,是通过名字来标识资源,比如mailto:[email protected]。也就是说,URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI;

URL是URI的一种(通过那个图就看的出来吧)。但也不是所有的URI都是URL哦,就好像蝴蝶都会飞,但会飞的可不都是蝴蝶啊!

让URI能成为URL的当然就是那个“访问机制”,“网络位置”。e.g. http://

or ftp://.。URN是唯一标识的一部分,就是一个特殊的名字。

下面就来看看例子吧,当来也是来自权威的RFC:

ftp://ftp.is.co.za/rfc/rfc1808.txt (also a URL because of the protocol)

ldap://[2001:db8::7]/c=GB?objectClass?one (also a URL because of the protocol)

mailto:[email protected] (also a URL because of the protocol)

news:comp.infosystems.www.servers.unix (also a URL because of the protocol)

tel:+1-816-555-1212

telnet://192.0.2.16:80/ (also a URL because of the protocol)

urn:oasis:names:specification:docbook:dtd:xml:4.1.2

这些全都是URI, 其中有些是URL. 哪些? 就是那些提供了访问机制的.

1. URI

Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的;

URI一般由三部组成

2. URL

URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。

采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

URL一般由三部组成

现在,你明白了了吗,欢迎提出意见和补充哦

本文转自 2012hjtwyf 51CTO博客,原文链接:http://blog.51cto.com/hujiangtao/1919699,如需转载请自行联系原作者

继续阅读