URL(Unicode Resource Locator,即统一资源定位符,它代表一种指向WWW资源的指针。这个资源可以简简单单看作是一个文件或一个路径,或者表示为一个更加复杂的对象,比如对数据库的查询。事实上,一个URL可被分成几个部分:协议名称://host:port。对了,(对了,我们打的http://www.baidu.com只有:protocol://host,而没有端口是因为浏览器会默认http请求为80端口,可以试一试:http://www.baidu.com:80)。
URI(Unicode Resource Identifier),即统一资源标识符。它是纯粹的句法结构,用于指定Web资源的字符串的各个不同部分。在java中,URI不包含任何访问资源的方法,它的作用只有解析。写过发送http请求的朋友都知道这一段吧:
URL url = new URL("http://host:port/");
URLConnection connection=url.openConnection();
URL是URI的特例。
定义是从java.net包里的URL和URI类的javadoc翻译的,还有一些是参考<java核心技术 卷II>第172页。