网络与运维系列 · 第 1 章
URL 结构详解:协议、端口、路径、查询串与锚点
WebTool 团队 · 发布于 2026-09-08 · URL / HTTP / 前端 / 网络
一个完整 URL 由协议、主机、端口、路径、查询串、锚点(外加可选的用户信息)七段组成;浏览器只把「锚点之前的部分」发给服务器,# 之后的内容永远不离开浏览器。 拿到一个复杂 URL 可以用本站 URL 解析工具逐段拆开看。
逐段拆解
https://user:pass@example.com:8443/path/to/page?id=1&lang=zh#section-2
\___/ \_______/ \_________/ \__/ \_________/ \___________/ \_______/
协议 用户信息 主机 端口 路径 查询串 锚点
| 部分 | 说明 | 备注 |
|---|---|---|
| 协议(scheme) | https、http、ftp 等 | 决定默认端口与安全语义 |
| 用户信息 | 已废弃,基本只见于文档 | 不要用来传凭证 |
| 主机 | 域名或 IP | 不区分大小写 |
| 端口 | 省略时用默认(http 80 / https 443) | 默认端口不显示 |
| 路径 | 服务器上的资源位置 | 以 / 开头 |
| 查询串 | ?k=v&k2=v2 |
键值用 & 分隔,值需 URL 编码 |
| 锚点(fragment) | # 之后 |
不发送到服务器,前端路由常用它 |
绝对路径与相对路径
页面在 https://a.com/docs/guide/ 时:
<a href="page2">→https://a.com/docs/guide/page2(相对当前目录)<a href="/page2">→https://a.com/page2(相对根)- 注意末尾的
/:/docs/guide与/docs/guide/对相对路径的解析结果不同,这也是「目录页少了斜杠导致资源 404」的常见原因。
三个最常踩的坑
- 查询串里的
&没编码:参数值含&会被切成两个参数(详见编码系列第 3 章)。 - 锚点丢了:服务端重定向若未显式保留
#...,锚点会丢失——因为它根本不在请求里,服务端也无从转发。 - 大小写混淆:域名不区分大小写,但路径和查询串区分,
/Page与/page是两个地址,Linux 服务器上尤其要注意。
最后更新:2026-09-08