天天看点

URI、URL、URN 的联系和区别

在 web 应用中,uri、url 经常被人混淆和无解。本文详细描述了 uri、url 以及 urn 之间的联系和区别。

先看定义

uri(uniform resource identifier,统一资源标识符)是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作。

url(uniform resource locator,统一资源定位符),最常见的形式是 uri,经常指定为非正式的网址。

urn(uniform resource name,统一资源名称),其目的是通过提供一种途径,用于在特定的命名空间资源的标识,以补充网址。

uri 可以进一步划分为定位符(url),名称(urn)或两者兼备。url 和 urn 都是 uri 子集。urn 如同一个人的名称,而 url 代表一个人的住址。换言之,urn 定义某事物的身份,而 url 提供查找该事物的方法。

术语“网址”(没有正式定义)在非技术文献中时常作为 url 或 uri 的同义词出现,虽然往往其指代的只是“http”和“https”协议。

下面是一些 url 的例子

ftp://ftp.is.co.za/rfc/rfc1808.txt

http://www.ietf.org/rfc/rfc2396.txt

ldap://[2001:db8::7]/c=gb?objectclass?one

mailto:[email protected]

news:comp.infosystems.www.servers.unix

tel:+1-816-555-1212

telnet://192.0.2.16:80/

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

/other/link.html (相对的 url,只在另外一个 url 的上下文有用)

下面是一些 urn 的例子

urn:isbn:0451450523 (其isbn编号,以确定一本书)

urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 (一个全局唯一标识符)

urn:publishing:book (标识文档作为一个图书类型的 xml 命名空间)

继续阅读