相对地址差不多就是,从当前位置如何找到那个文件。

说我面前的那杯咖啡,就是以我为基准,然后我面对的那杯咖啡就是了。因为我和这杯咖啡同在一个地方,所以我们究竟身处何处,这件事情就被省略掉了。

如果东西放的略微隐蔽一些,我们的描述可能也会变得复杂,比如说那边箱子里面有一个红色的盒子,里面有一包我珍藏了好久没舍得喝的咖啡。但是呢,这依旧是我和那包咖啡的相对位置,我们究竟身处何处,依旧是被省略掉的。

现在你能把上面这些描述,和我们前面讲的内容对应上吗?

接着把事情搞得复杂一些,我去找你玩,你很富有,大宅子复杂的跟迷宫似的。我们一起坐在屋里聊天,忽然我想去方便一下。这种事情你跟着我去多少显得尴尬,所以你会描述一下卫生间的位置。因为我对你家完全不熟悉,你描述的很可能是:出了这个门,过了院子再出一个门,到右边跨院儿,穿过月亮门就是了。

虽然可能厕所就是在你家院子一进门的跨院儿里,但是因为院子很大,你从进门的地方描述,我就迷糊了,所以你告诉我的是,从我们当前所在的位置,如何走过去。这就是相对路径嘛,相对于我们身处的位置,厕所在哪里。

所以先出去的这几道门,就仿佛我们先往上几层文件夹。诶,你现在知道这些东西,又对应的上一章的什么内容了吧。

当然,如果你搞不太懂,也没有关系,先用,用的多一点儿,慢慢就开始理解了。而且对于相对地址,我们后面还会有其他的方法去写,依然十分简单无脑。反正总有一种办法能够让你把它写正确。

如果上面我说的这些你都看懂了,那么我们继续往下聊。

../ 的意思,其实就是从当前位置向上一层文件夹。一般来说,我们的路径之中,都是一层一层深入的,但是有了这个写法,我们就可以逆向进行上溯。可进可退,灵活而自由。现在你再回头看上一章我们写的相对地址,就会有了不一样的理解。

说到了这个,那我们就再多说一些。./ 又是什么意思呢?它指的是当前文件夹,不过这个写法在网址中我们极少用到,不过在写一些命令行的时候,却非常常用。

前面两个点和一个点都说了,那如果没有点呢? /,你会和我说,咱们前面不是说过了,它分隔了两个文件夹的名称。是的没有错,但是如果一个相对地址以斜线开头呢?我们在上一章中所写的相对地址,在去除相同部分的时候,都把前面的斜线相互抵消了。那么如果我们的相对地址以斜线开头,表示的是这个地址,是相对于根目录而言的。

什么是根目录呢?就是最上一层的目录,如果在 Windows 下,那就是当前所在的驱动器,比如 E 盘的文件夹,根目录就是 E:\。如果在网站下,那么根目录就是这个网站的网址,比如:https://dmnydn.com/

产生两个问题,\/ 有什么区别?在路径中,在你目前的应用范围内,它们基本没有什么区别。但是 \ 一般被用在本地路径中,/ 一般被用在网络路径中。那么我们日常写的网页中,用 / 就可以了。

第二个问题,http://https://file:/// 这些是什么意思?他们被称作协议,就是我们应当以何种方式去访问后面的地址。HTTP 是我们日常访问网页的方法,HTTPS 是在这个基础上进行了加密。你可以理解为,前者就像我们平常发邮件,如果快递员偷偷的拆开查看里面的内容,再封上,我们可能并不会知道。如果是黑心的快递员,不只是拆开偷偷查看,还篡改了其中的内容,问题就比较严重了。就比如我们在手机上查看网页,经常会发现多出来一些,肯定不是这个网站自己放上去的广告。这时候你就要对网页的内容进行一个加密了,发件人加密后发送出来,收件人收到之后再解密。快递员拆开查看,并不能够知道里面写的是什么内容,自然也没有办法进行篡改,他可以选择不为你投递这封邮件,但是李代桃僵、李逵变李鬼的事情,就不会发生了。而 file:/// 则表示本地文件系统,就是当前电脑中的文件,这个稍微有点特殊,前面是三个斜线。反正我们也不常用到,稍微记一下就可以了。

以上是对相对网址的一个简单讲解,以及一些引申,都只是粗略的带大家认识一下,没有进行展开。

【本章助记卡片:卡片 for 第二十七章