什么是URL 解析器?
URL 解析工具把一个完整地址拆成协议、主机、端口、路径、查询参数与哈希片段,并把查询字符串展开成键值表格。解析使用浏览器原生 URL API,在本机完成。
怎么用URL 解析器?
- 1粘贴完整 URL(需包含协议,如 https://)。
- 2查看各组成部分与参数表格。
- 3重复参数会全部列出,不会互相覆盖。
- 4参数值中的百分号编码会同时给出解码后的形式。
在代码里怎么实现?
一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。
JavaScript
Python
const url = new URL('https://a.com:8443/p/1?q=x&tag=a&tag=b#top');
url.protocol; // 'https:'
url.host; // 'a.com:8443'
url.pathname; // '/p/1'
url.searchParams.getAll('tag'); // ['a', 'b']常见错误与排查
| 现象 | 成因 | 修复 |
|---|---|---|
| Invalid URL 报错 | 缺少协议前缀,例如直接传 www.example.com。 | 补上 https:// 再解析,或使用 URL 的第二个 base 参数。 |
常见问题
同名查询参数出现多次,服务端会取哪一个?+
没有统一标准,取决于框架实现:Express 会得到数组,PHP 默认取最后一个,部分网关取第一个。因此接口设计不应依赖重复参数的顺序语义,需要多值时用明确的数组语法或改成 POST 体。
哈希片段会发送给服务器吗?+
不会。# 后面的片段只在浏览器内使用,不包含在 HTTP 请求里。这也意味着服务端日志与后端代码永远看不到它,前端路由的 hash 模式正是利用了这个特性。