首页 > 代码库 > URI、URL、URN

URI、URL、URN

结论性的东西,至于领悟过程就不写了:

 

URI 统一资源标识符URL 统一资源定位符URN 统一资源名称
URI是一种资源定位的概念,而URL和URN是其具体的实现。
URL和URN的主要区别在于位置相关性

举例说明:

http://www.baidu.com/index.html 这是一个标准的URL,由[协议]://[主机]/[资源路径]组成。这个URL定位了一个唯一的互联网资源(假设访问者在同一个网络环境下),目前绝大多数的网络应用都是基于URL实现的。URL需要由具体的主机和资源路径来构成(即位置相关),当然你可以随便构造虚拟的主机和资源,只不过无法保证它的可访问性就是了。

而对于URN,很多人可能从来都没有听过(我也是刚刚百度的),更别说它的应用。不过提到一样东西我想大家应该又都会很熟悉,那就是磁力链接(Magnet URI)。像这个磁力链接 magnet:?xt=urn:sha1:YNCKHTQCWBTRNJIV4WNAE52SJUQCZO5C,该链接既没有主机也没有资源路径,只有一串hash字符串(这里的hash值只跟具体文件关联)和协议头组成。但是将其复制到迅雷之类的下载工具中就能获取到资源,这里就体现到了URN的与位置无关的特性,至于它具体是如何实现的不在此讨论。

URI、URL、URN