URI和URL的区别
1.定义
URI:Uniform Resource Identifier 统一资源标识符,用于唯一的表示每一个资源
URL:Uniform Resource Locator 统一资源定位器,具体的URI或者是URI的一个实例,既可以用来表示一个资源,且可以来指明如何来locate一个资源
URN:Uniform Resource Name 统一资源名称,在某命名空间中可以唯一确定的资源名称
可用一张图来表明三者之间的关系:
可以说,URI可分为三种,URL或URN或是URL和URN
2.构成
URL一般由以下三部分构成:第一部分是协议(或者说是服务方式),第二部分是主机的ip地址或者主机名(常也包括了端口号),第三部分便是主机资源的具体地址
URI也有三部分构成:第一部分Scheme,用来告诉客户端如何来得到资源,常见的scheme有http,https,file等
第二部分是Hostname,即主机名,紧紧跟在scheme后面
第三部分是Path,用来指示主机上资源的具体路径
3.位置关系
一个URI实例可以是绝对的,也可以是相对的,只要它符合URI的语法规则。
而URL不仅需要满足自身的语法规则,同时需要指明主机资源的具体路径,因此其只能是绝对的,需要紧紧跟在scheme开头后面;
总结一下:
URL是一种具体的URI,它不仅唯一标识资源,而且还指示了资源的路径;而URI是语义上的抽象概念,它既可以是绝对的,也可以是相对的,然URL必须要提供指示主机资源的具体路径的信息,
因此它只能是绝对的。而我们常讲的relative URL 其实是相对于absolute URL而言,所以某种程度上而言其本身并未脱离绝对定位.
身是红尘雨中客,
愿有执伞并肩人.