绝对路径是指 从文件系统的根目录或URL的协议主机开始,完整描述资源位置的路径表示法。它提供资源的全局唯一标识,不依赖于当前文档的位置。
白话: 起始点从 文件系统的根目录或URL的协议主机 开始一路找到你想要资源的完整路径
语法构成:
<!-- 完整的URL绝对路径 -->
<img src="https://www.example.com/static/images/logo.png">
<!-- 服务器根目录绝对路径 -->
<link href="/css/main.css" rel="stylesheet">
<!-- 文件系统绝对路径 -->
<a href="file:///C:/Users/Project/index.html">
相对路径是 基于当前文档所在位置,描述目标资源相对位置的路径表示法。其解析依赖于基础URL(Base URL)。
白话: 从当前出发,找到资源的完整路径。进门
/,出门或返回上一级../(可多个出门或返回上一级)
语法要素:
<!-- 引用同级文件 -->
<a href="contact.html">联系我们</a>
<!-- 引用子目录文件 -->
<img src="images/banner.jpg">
<!-- 引用父目录文件 -->
<link href="../common/style.css">
<!-- 引用兄弟目录文件 -->
<script src="../js/main.js">
路径解析算法
根据RFC 3986标准,浏览器按以下步骤解析相对路径:
<base>标签指定的URL,否则使用当前文档URL.(当前目录)和..(父目录)引用| 引用类型 | 语法 | 解析规则 |
|---|---|---|
| 网络根相对 | /path | 相对于协议和主机名的根路径 |
| 文档根相对 | ./path | 相对于当前文档所在目录 |
| 父目录引用 | ../path | 向上一级目录并进入指定路径 |
| 同级引用 | filename | 当前目录下的文件 |
Base URL的影响
<!-- 设置基础URL,影响页面所有相对路径 -->
<base href="https://example.com/archive/2023/">
<!-- 此链接将指向 https://example.com/archive/2023/news.html -->
<a href="news.html">最新消息</a>
URL标准化过程
相对路径 ../.././img/../images/photo.png 的标准化过程: