HTML URL
打开网页、加载图片、提交表单,浏览器都要靠 URL(Uniform Resource Locator,统一资源定位符)才能找到资源。URL 就是互联网资源的"门牌地址",也就是我们常说的网址。
URL 的组成
一个完整的 URL 由多个部分组成,以 https://www.example.com:8080/html/page.html?name=tom#top 为例:
| 部分 | 名称 | 示例中的内容 |
|---|---|---|
| scheme | 协议 | https |
| host | 主机名 | www.example.com |
| port | 端口 | 8080(省略时按协议默认,http 为 80) |
| path | 路径 | /html/page.html |
| query | 查询字符串 | ?name=tom(用 & 连接多个参数) |
| fragment | 锚点 | #top(跳到页面内 id 为 top 的位置) |
常见协议
- http / https:网页传输协议,https 多了加密,更安全。
- ftp:文件传输协议,用于上传下载文件。
- file:访问本机文件,如 file:///C:/index.html。
- mailto:电子邮件地址,写在 <a> 链接中可唤起邮件程序。
绝对 URL 与相对 URL
- 绝对 URL:协议、主机名齐全,如 https://www.example.com/img/a.png,任何页面都能使用。
- 相对 URL:只写相对当前页面的路径,站内资源推荐使用,换域名时无需改动。
<a href="https://example.com">绝对链接</a>
<a href="about.html">同目录下的页面</a>
<a href="../index.html">上一级目录的首页</a>
<img src="images/logo.png" alt="标志">
URL 编码
URL 里只允许出现英文字母、数字和少量符号;空格、中文等必须编码成 "% 加两位十六进制"的形式,例如空格对应 %20:
<a href="search.html?q=%E6%95%99%E7%A8%8B">搜索"教程"</a>
不过日常书写含中文的网址时,现代浏览器会自动完成编码,一般不需要手工转换。
易错点
- 相对路径的层级别算错:./ 表示当前目录,../ 表示上一级目录。
- 链接参数中的 & 建议写成 &,避免被浏览器当成字符实体解析。
- 锚点 # 只在当前页面内跳转;要跳到别的页面某处,应写成 页面地址#id。
- 协议与端口写错会导致打不开,或误走不加密的 http。
小结:URL 是资源的完整地址,由协议、主机、路径、查询等组成;站内资源多用相对 URL,站外资源用绝对 URL,特殊字符需按规则编码。