绝对 URL 和相对 URL
URL 分成两种:绝对 URL 和相对 URL。
绝对 URL 指的是,只靠 URL 本身就能确定资源的位置。这意味着,URL 必须带有资源的完整信息,包含协议、主机、路径等部分。前面的例子都是绝对 URL。
相对 URL 指的是,URL 不包含资源位置的全部信息,必须结合当前网页的位置,才能定位资源。比如,当前网页的 URL 是https://www.example.com/path/index.html
,该网页上面有一个资源,URL 指向a.html
,这个就是相对 URL。因为只知道a.html
,并不能定位资源。浏览器假定,a.html
与当前网址在同一个子目录下面,从而得到绝对 URL https://www.example.com/path/a.html
。
相对 URL 如果以斜杠(/
)开头,就表示网站的根目录。否则,必须以当前目录为起点,推算资源的位置。比如,相对 URL /foo/bar.html
表示网站根目录的子目录foo
,foo/bar.html
表示在当前目录的foo
子目录。
URL 还可以使用两个特殊简写,表示特定位置。
.
:表示当前目录,比如./a.html
(当前目录下的a.html
文件)..
:表示上级目录,比如../a.html
(上级目录下的a.html
文件)
这两种简写可以多个连用,比如../../
表示上两级目录。
绝对 URL 也可以使用这两个简写,比如www.example.com/./index.html
等同于www.example.com/index.html
,这时.
相当于根目录的当前目录,即根目录本身。