URL 解析器

拆解 URL 各组成部分与查询参数

浏览器内运算URL Parser排错型07网络与 Web

什么是URL 解析器

URL 解析工具把一个完整地址拆成协议、主机、端口、路径、查询参数与哈希片段,并把查询字符串展开成键值表格。解析使用浏览器原生 URL API,在本机完成。

怎么用URL 解析器

  1. 1粘贴完整 URL(需包含协议,如 https://)。
  2. 2查看各组成部分与参数表格。
  3. 3重复参数会全部列出,不会互相覆盖。
  4. 4参数值中的百分号编码会同时给出解码后的形式。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

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 模式正是利用了这个特性。

相关工具

全部工具