URI, Uniform Resource Identifier, 统一资源标识符;可以用于描述所有的资源。URI包含了URL,可以简单的认为URL是URI的子集。
从更高的抽象层次来描述URI的语法如下:
[scheme:]scheme-specific-part[#fragment]
其中[] 范围内的字段是可选的;
URI可以分为绝对URI和相对URI,绝对的URI中定义了scheme,非绝对URI被称为相对URI;
URI还可以根据不透明和分层进行分类;
其中不透明URI是绝对的URI,并且scheme-specific-part 未以 '/' 开始;例如一下URI:
mailto:java-net@java.sun.com
news:comp.lang.java
urn:isbn:096139210x
分层URI在未指定scheme时是相对的URI;例如一下:
http://java.sun.com/j2se/1.3/ docs/guide/collections/designfaq.html#28 绝对URI ../../../demo/jfc/SwingSet2/src/SwingSet2.java 相对URI
file:///~/calendar 绝对URI
分层URI语法如下:
[scheme:][//authority][path][?query][#fragment]
基于服务器的authority语法如下:
[user-info@]host[:port]
上面的参数不再进行解析了;可以参考URL概述中提到的参数进行对应。