URI和URL差别以及相对路径和绝对路径的差别
一、URL和URI定义:
1.URL是全球资源定位符的英文所写,您平时上网时在IE浏览器中输入的那个地址就是URL。比方:网易 http://www.163.com就是一个URL。
2.URI是Web上可用的每种资源 - HTML文档、图像、视频片段、程序,由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。
URL的格式由下列三部分组成:
第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机IP地址(有时也包含port号);
第三部分是主机资源的详细地址。
URI一般由三部分组成:
訪问资源的命名机制。
存放资源的主机名。
资源自身的名称。由路径表示。
二、URL和URI差别:
(a)URI是一个相对来说更广泛的概念。URL是URI的一种,
是URI命名机制的一个子集,能够说URI是抽象的,而详细要使用URL来定位资源。
(b)Web上的每一种资源如:图片、文档、视频等,都是由URI定位的。这里所谓的定位指的是web上的资源相对于主机server来说,存放在server上的详细路径。
(c)URL是internet上用来描写叙述信息资源文件的字符串。用在客户程序和server上,定位客户
端连接server所须要的信息,它不仅定位了这个信息资源,并且定义了怎样找到这个资源。
通俗理解 :
URI就是一种资源定位机制。它是比較笼统地定位了资源,并不局限于client和server,
而URL就定位了网上的一切资源,仅仅要是网上的资源,都有唯一的URL.
三、相对路径和绝对路径的差别:
1.绝对路径
绝对路径是指文件在硬盘上真正存在的路径。比如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”文件夹下。那么 “bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg"。
那么假设要使用绝对路径指定网页的背景图片就应该使用 下面语句:
<body backround="E:\book\网页布局\代码\第2章\bg.jpg" >
2.使用绝对路径的缺点
其实,在网页编程时,非常少会使用绝对路径,假设使用“E:\book\网页布\代码\第2章\bg.jpg”来指定背景图片的位置,在自己的计算机上 浏览可能会一切正常,可是上传到Webserver上浏览就非常有可能不会显示图片了。由于上传到Webserver上时。可能整个站点并没有放在Webserver的E盘, 有可能是D盘或H盘。即使放在Webserver的E盘里。Webserver的E盘里也不一定会存在“E:\book\网页布局\代码\第2章”这个文件夹,因此在浏 览网页时是不会显示图片的。
3.相对路径
为了避免这样的隋况发生。通常在网页里指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。比如上面的样例,“s1.htm” 文件中引用了“bg.jpg”图片。因为“bg.jpg”图片相对于“s1.htm”来说。是在同一个文件夹的,那么要在“s1.htm”文件中使用下面代 码后。仅仅要这两个文件的相对位置没有变(也就是说还是在同一个文件夹内)。那么不管上传到Webserver的哪个位置,在浏览器里都能正确地显示图片。
<body background="bg.jpg">
再 举一个样例。如果“s1.htm”文件所在文件夹为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在文件夹为“E:\book\网页 布局\代码\第2章\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说。是在其所在文件夹的“img”子文件夹里,则引用图片的语句应该 为:
<body background="img/bg.jpg">
注意:相对路径使用“/”字符作为文件夹的分隔字符,而绝对路径能够使用“\”或“/”字符作为文件夹的分隔字符。因为“img”文件夹是“第2章”文件夹下的子文件夹,因此在“img”前不用再加上“/”字符。
在 相对路径里常使用“../”来表示上一级文件夹。如果有多个上一级文件夹。能够使用多个“../”,比如“http://www.cnblogs.com/”代表上上级文件夹。
如果 “s1.htm”文件所在文件夹为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在文件夹为“E:\book\网页布局\代码”。那 么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在文件夹的上级文件夹里。则引用图片的语句应该为:
<body background="../bg.jpg">
再举一个样例,如果“s1.htm”文件所在文件夹为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在文件夹为“E:\book\网 页布局\代码\img”。那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在文件夹的上级文件夹里的“img”子文件夹里,则引用图片的语句 应该为:
<body background="../img/bg.jpg">