先说明这三个缩写的意思:
URL: Unifrom Resource Locator 统一资源定位符
URI: Unifrom Resource Identifier 统一资源标识符
URN: Universal Resource Name 统一资源名称
从上面的那幅图可以看出来,一共有三个不同的概念URI,URL,URN。URL和URN是URI的一个子集,目前URN还处于试验阶段,这里主要讲解URL和URI. 因此可以说每个URL都是URI,但不一定每个URI都是URL.这是因为URI还包括一个子类(URN).
URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同部分。URL是URI的一个特例,它包含了定位Web资源的足够信息。其他URI,比如
mailto:cay@horstman.com
则不属于定位符,因为根据该标识符无法定位任何资源
用法
URI
URI只是唯一资源标识符,并不包含任何访问资源的方法,它的作用就是解析资源。
URI构成:[scheme:][//authority][path][?query][#fragment]
URL
URL是统一资源定位符,URL可以资源,打开一个到达资源的流
“A Uniform Resource Identifier (URI) 是一个紧凑的字符串用来标示抽象或物理资源。”
“A URI 可以进一步被分为定位符、名字或两者都是. 术语“Uniform Resource Locator” (URL) 是URI的子集, 除了确定一个资源,还提供一种定位该资源的主要访问机制(如其网络“位置”)。”
那我们无所不知的维基百科把这段消化的很好,并描述的更加形象了:
“URI可以分为URL,URN或同时具备locators 和names特性的一个东西。URN作用就好像一个人的名字,URL就像一个人的地址。换句话说:URN确定了东西的身份,URL提供了找到它的方式。”
参考链接:http://www.cnblogs.com/hust-ghtao/p/4724885.html