URI 和 URL 的区别比较与理解

URI 和 URL 的区别比较与理解


一、URI


URI,统一资源标志符(Uniform Resource Identifier, URI),表示的是web上每一种可用的资源,如 HTML文档、图像、视频片段、程序等都由一个URI进行标识的。



URI通常由三部分组成:


①资源的命名机制;


②存放资源的主机名;


③资源自身的名称。


(注意:这只是一般URI资源的命名方式,只要是可以唯一标识资源的都被称为URI,上面三条合在一起是URI的充分不必要条件)



如:https://blog.csdn.net/qq_32595453/article/details/79516787


我们可以这样解释它:


①这是一个可以通过https协议访问的资源,


②位于主机 blog.csdn.net上,


③通过“/qq_32595453/article/details/79516787”可以对该资源进行唯一标识(注意,这个不一定是完整的路径)


注意:以上三点只不过是对实例的解释,以上三点并不是URI的必要条件,URI只是一种概念,怎样实现无所谓,只要它唯一标识一个资源就可以了。


二、URL

URL是URI的一个子集。它是Uniform Resource Locator的缩写,译为“统一资源定位 符”。


通俗地说,URL是Internet上描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上。


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


URL的一般格式为(带方括号[]的为可选项):


protocol :// hostname[:port] / path / [;parameters][?query]#fragment


URL 的格式由三部分组成: 


①第一部分是协议(或称为服务方式)。


②第二部分是存有该资源的主机IP地址(有时也包括端口号)。


③第三部分是主机资源的具体地址,如目录和文件名等。


第一部分和第二部分用“://”符号隔开,


第二部分和第三部分用“/”符号隔开。


第一部分和第二部分是不可缺少的,第三部分有时可以省略。 


三、URI和URL之间的区别

从上面的例子来看,你可能觉得URI和URL可能是相同的概念,其实并不是,URI和URL都定义了资源是什么,但URL还定义了该如何访问资源。URL是一种具体的URI,它是URI的一个子集,它不仅唯一标识资源,而且还提供了定位该资源的信息。URI 是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,是绝对的。



四、URL和URI差别 

URI是一个相对来说更广泛的概念。URL是URI的一种,是URI命名机制的一个子集,能够说URI是抽象的,而详细要使用URL来定位资源。


Web上的每一种资源如:图片、文档、视频等,都是由URI定位的。这里所谓的定位指的是web上的资源相对于主机server来说,存放在server上的详细路径。


URL是internet上用来描写叙述信息资源文件的字符串。用在客户程序和server上,定位客户端连接server所须要的信息,它不仅定位了这个信息资源,并且定义了怎样找到这个资源。


通俗理解

URI就是一种资源定位机制。它是比较笼统地定位了资源,并不局限于client和server,就比如


某个联系人的Uri: content://contacts/people/5

所有图片Uri: content://media/external

某个图片的Uri:content://media/external/images/media/4

而URL就定位了网上的一切资源,仅仅要是网上的资源,都有唯一的URL.

可以举一个很形象的例子:


动物住址协议://地球/中国/浙江省/杭州市/西湖区/某大学/14号宿舍楼/525号寝/张三.人

 



关键词 :  URI和URL的区别,URI,URL,统一资源定位