URL与URI

 我们经常接触到的就是URL了,它就是我们访问web的一个字符串地址,那么URI是什么呢?他们是什么关系呢?

URL:uniform resource location 统一资源定位符
URI:uniform resource identifier 统一资源标识符
这也就是说,URI是一种资源的标识;而URL也是一种URI,也是一种资源的标识,但它也指明了如何定位Locate到这个资源。
URI是一种抽象的资源标识,既可以是绝对的,也可以是相对的。但是URL是一种URI,它指明了定位的信息,必须是绝对的

URI详细介绍

URI一般来说有以下三种构成方式

一、绝对URI
    指以scheme(后面跟着冒号)开头的URI
    参考下面的URI,它符合当前的RFC4395规范:协议名称://域名.根域名/目录/文件名.后缀
    例如http://b.c/d/e.f (假设b.c是一个可用的域名,e.f是一个标准的文件)
    这个URI是这样的:这是一个可通过HTTP协议访问的资源,位于主机b.c上,通过URI中的字符串“/d”访问主机上的“d”文件夹,通过“e.f”请求访问主机上“/d/e.f”这个文件。
   这是URI的另一个例子,指向一个用户的邮箱:mailto:名称@域名
   其它的例子还有news:地址和xyz://whatever
关系:URL是URI命名机制的一个子集。
二、标志符
     有的URI指向一个资源的内部。 这种URI以"#某某"结束,某某是指一个anchor标志符(称为片段标志符)。
     例如,下面是一个指向a的URI:  协议://域名/目录/文件#片段标示符(例如:/a/b.php#a)
三、相对URI
     相对URI不包含任何命名规范信息。它的路径通常指同一台机器上的资源。
     相对URI可能含有相对路径(如,“..”表示上一层路径),还可能包含片段标志符。
     为了说明相对URI,假设我们有一个基本的URI:   协议://域名/目录a/目录b/文件c
     下面的链接中使用了相对URI:   ../文件D
     它扩展成完全的URI就是 "协议://域名/目录a/文件D"
 
实际上URL就是上面介绍的绝对URI命名机制的产物