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的另一个例子,指向一个用户的邮箱: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"