URI(uniform resource identifier),统一资源标识符,用来唯一的标识一个资源。
URL(uniform resource locator),统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。
URI是URL的超集。
URI表示请求服务器的路径,定义这么一个资源。
而URL同时说明要如何访问这个资源,如HTTP地址,FTP地址等,强调定位,通常标志一个网络路径。
URI是一个资源标识符,如mail:admin@qq.com,dblink等,强调标志,这个不一定是网络路径。 比如select * from db.table; 这个db.table就是个URI。
URL是一种具体的URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。URI是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,所以,是绝对的,而通常说的relative URL,则是针对另一个absolute URL,本质上还是绝对的。
注:这里的绝对(absolute)是指包含scheme,而相对(relative)则不包含scheme。
URI抽象结构 [scheme:]scheme-specific-part[#fragment]
[scheme:][//authority][path][?query][#fragment]
authority为[user-info@]host[:port]
参考:http://www.cnblogs.com/gaojing/archive/2012/02/04/2413626.html
http://bbs.phpchina.com/thread-222320-1-1.html