绝对地址和相对地址概念是网站开发基础知识中很重要的知识点,相对地址、绝对地址也有人称为相对路径、绝对路径。那么绝对地址和相对地址究竟是什么?它们又有什么区别呢?今天益吾库就来系统的讲一讲。

绝对地址

根据所处环境不同又可以细分为两种:一种是网络绝对地址,一种是本地绝对地址。

其中网络绝对地址就是以http://、ftp://或https://等网络协议名开头的地址,如:http://www.yiwuku.com/a/19983.html,其中www.yiwuku.com是指网站域名,a是指目录,19983.html是指文件;本地绝对地址是指在本地计算机存储器(硬盘、U盘等)上面的地址,通常以盘符"C:/"开始。如:c:/website/img/photo.jpg、D:/website/index.html等,其中"C:/"是指C盘,“website”是指目录(文件夹)。

理论上,互联网上的绝对地址,被任何网站链接都能通过这个地址直接到达目标。

相对地址

相对地址是指相对于当前位置的引用地址,是一种忽略最高层级或上级位置,改变相对环境也能使用的地址。

相对地址在网站前端开发中较为常见,我们通常用符号“.”来表示当前目录,用符号“..”来表示当前目录的父目录,符号“/”则代表根目录,前提是以它开头。下面我以在一个名为index.html的网页文件中插入一张图片为例说明:

<img src="./images/a.jpg">

./代表当前所在目录,即与index.html是在同一级目录;

<img src="../images/a.jpg">

../代表的是上一层目录,即父目录,同时也是index.html的父目录;

<img src="../../images/a.jpg">

../../代表的是上一层目录的上一层目录,即父目录的父目录;

<img src="/images/a.jpg">

/代表根目录,即网站域名所指向的最高层目录;(参考阅读:到底什么是网站根目录?)

绝对地址和相对地址区别

首先,我们要明确这两种地址只是不同的文件索引方式,它们并没有好坏之分,不同场景灵活运用才是关键。

绝对地址和相对地址对于网站开发方面的区别就在于,使用相对地址时,在将网站文件整体迁移到其他服务器或环境的时候,原来使用的文件地址还是可以用,而这时候绝对地址则是引用原来域名对应服务器的文件,域名失效就意味着文件引用失败。

我们再来以在网页中引用一张图片为例:

<img src="http://www.yiwuku.com/pictures/1.jpg">

这句代码意思是插入一张图片,图片绝对地址是“http://www.yiwuku.com/pictures/1.jpg”,即:这张图片是放在www.yiwuku.com网站下pictures目录中,图片文件名是:“1.jpg”。实际上我们若是在本站使用这样的代码,那么图片地址则可以写为/pictures/1.jpg,跨站引用时则必须用绝对地址,很多时候为了解决跨目录和目录层级复杂的问题,开发者们常常更偏爱使用绝对地址。

另外,在SEO优化方面绝对地址也常常具有很重要的实际意义:

1、使用绝对地址做站内链接,当网页被转载或被RSS阅读器爬取时,链接不会发生变化。如:到底什么是网站根目录 这个链接锚文本使用的是绝对地址:http://www.yiwuku.com/a/19980.html,如果使用相对地址:/a/19980.html 那么本文被转载到其它网站时,可能变为:其它网站域名/a/19980.html。

 2、首页链接尽可能使用绝对地址,特别是一些独立IP的网站,使用绝对地址可以防止网站被其他域名镜像。假如 www.yiwuku.com 首页都用相对地址,那么当有其它域名指向本站IP时,在搜索引擎和用户看来,镜像域名指向和本站的内容将是一模一样,首页使用绝对地址后,用户就只有第一次点击是在镜像域名之下,其后都将来到www.yiwuku.com域名下。