- URI(Uniform Resource Identifier ):统一资源标识符,就是在某一规则下能把一个资源独一无二地标识出来。
- URL(Uniform Resource Locator):统一资源定位符。
- URN(Uniform Resource Name):统一资源名称。
大部分URL都遵循一种标准格式,这种格式包含三个部分。
- URL的第一部分被称为方案(scheme),说明了访问资源所使用的协议类型。这部分通常就是HTTP协议(http://)
- 第二部分给出了服务器的因特网地址(比如,www.joes-hardware.com)
- 其余部分指定了web服务器上的某个资源(比如,/specials/saw-blade.gif)
http://
or ftp://
.。
URN是唯一标识的一部分,就是一个特殊的名字。
下面就来看看例子吧,来自权威的RFC:
-
ftp://ftp.is.co.za/rfc/rfc1808.txt
(also a URL because of the protocol) -
http://www.ietf.org/rfc/rfc2396.txt
(also a URL because of the protocol) -
ldap://[2001:db8::7]/c=GB?objectClass?one
(also a URL because of the protocol) -
mailto:John.Doe@example.com
(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。哪些? 就是那些提供了访问机制的。
- 疑问:没明白为什么是包含与被包含的关系,按照你的解释,不应该是并列关系么?url通过地址确定,uri通过号码确定。二者不存在包含关系啊。
- 答:URI 不一定非得是通过号码确定的。URI 是在「某一规则」下标识出一个资源的字符串,通过地址或者通过号码都是可行的规则,其中通过地址规则实现的 URI 可以被称作 URL ,URL 是 URI 的一种实现,所以URI 作为更宽泛的定义是包含了 URL 的,就像三角形包含等边三角形一样。