URI: Uniform Resource Identifiers。 URL:Uniform Resource Locator。 URN:Uniform Resource Name。 从URL和URI的英语单词全称很难看出区别,而且现在很多地方用的比较混乱,IEFT/W3C的技术文档里面URI多见,日常生活中URL较多见。很多时候会让人觉得混淆不清。 简洁的说,URL和URN都是URI的一个子集,URL和URN是并列关系。所有的URLs都是URIs,但是URIs并不一定是URLs,还有可能是URNs。统一资源标识符(URI)提供了一种访问资源(包括网络资源和其他资源)的路径,同时也指定了访问此资源的方式,通过此资源的哪个特征来找到它。一个object可以有很多属性,比如名字,ID,地址(所处的位置)等等。 URL就是通过资源的地址(路径)来访问该资源,广义的URL的scheme有很多,包括常见的http,https,还有ftp,icap,mailto:,file:///等等。URN则是根据资源的名字来访问该资源,这种在网络上很少见。 举几个简单的例子,通过URL访问资源: 访问网络资源:http://www.access_network_resource.com/pictures/test.jpg 访问本地资源:file:///c:/local_directory/files/test.doc 通过URN访问资源: urn:isbn:1-234-56789-0 可以通过此URN在图书系统中通过ISBN(International Standard Book Number)获得图书的相关信息。
Enumeration urls = PropertiesProvider.class.getClassLoader() .getResources(resourceName); while (urls.hasMoreElements()) { URL url = (URL) urls.nextElement(); //file:/D:/workspaces9/GenObject/bin/generator.properties如果需要更深入的了解URI和URL,可以阅读RFC2396,RFC1738,W3C的一些文档 ,wiki等,也可以google。
