一、URI
uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。
二、URL
uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
三、URN
uniform resource name,统一资源命名,是通过名字来标识资源,比如 mailto:java-net@java.sun.com。
四、总结
- URI 是以一种抽象的,高层次概念定义统一资源标识,而 URL 和 URN 则是具体的资源标识的方式。URL 和URN 都是一种 URI。
- 在 Java 的 URI 中,一个 URI 实例可以代表绝对的,也可以是相对的,只要它符合 URI 的语法规则。而 URL 类则不仅符合语义,还包含了定位该资源的信息,因此它不能是相对的,schema (底层用的协议,如http、https、ftp)必须被指定。