URI&URL&URN的联系与差异
在进行web开发的时候,一定涉及到URI,URL,URN的知识。在这里做一些总结:
URI:
Uniform Resource Identifier,统一资源标识符
一般由三部分组成:
1.方案名 (http)
2.域名 (www.cisco.com)
3.路径 (/en/US/partners/index.html)
例如:http://www.acme.com/support/intro.htm 、ftp://host/file、mailto:mbox@domain 等
URI包括URL以及URN。URI可以是相对的地址。
URL:
Uniform Resource Locators,统一资源定位符
也由三部分组成:
协议(或称为服务方式);
2.存有该资源的主机IP地址(有时也包括端口号);
3.主机资源的具体地址。如目录和文件名等
如:file://ftp.yoyodyn.com/pub/files/foobar.txt、http://www.peopledaily.com.cn/channel/welcome.htm
URL是URI命名机制的一个子集。URI定义资源,而URL不单定义这个资源,还定义了如何找到这个资源。URL必须是绝对的地址。
URN:
Uniform Resource Names,统一资源名称。
例如:邮箱 wanggang3333@gmail.com
使用不是很广泛。也属于URI的一种,URL的一种更新形式,不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需假以时日,因为它需要更精密软件的支持。
区别与联系:
URI 可以进一步分为定位器、名称,或者二者兼具。术语“Uniform Resource Locator” (URL) 涉及的是 URI 的子集,除识别资源外,它还通过描述其最初访问机制(比如它的网络“位置”)来提供定位资源的方法。 术语“Uniform Resource Name” (URN) 在历史上曾用于引用“urn”方案 [RFC2141] 下的 URI,这个 URI 需要是全球惟一的,并且在资源不存在或不再可用时依然保持不变,对于其他任何拥有名称的一些属性的 URI,都需要使用这样的 URI。(RFC3986)
对于单独的方案,没有必要将其分为仅仅是一个 “名称”或者是一个“定位器”。 来自任意特定方案的 URI 实例可能有名称或定位器的特征,或两者兼而有之, 这通常取决于标识符分配中的持久性和命名机构对其关注程度, 而不取决于其他方案的质量。未来的规范和相关的文档应当使用通用术语“URI”,而不是使用有更多限制的条目“URL”和“URN” (RFC3305)。
Preferences:
1.http://zhidao.baidu.com/question/38764759.html
2.http://blog.****.net/scholar_ii/article/details/3131905
3.http://baike.baidu.com/view/160675.htm
4.http://www.ibm.com/developerworks/cn/xml/x-urlni.html