URL 解析器和 Query String 解析器有什么区别

区分完整 URL 结构拆解和查询参数解析,避免把路径、片段或编码问题混在一起。

URL 解析器看整体结构

先整体解析 https://user:pass@example.com/a%2Fb?tag=one&tag=two#top。检查凭据,并把序列化路径 /a%2Fb 与解码显示 /a/b 分开;不能因为解码结果含斜杠,就忘记原字符串中斜杠属于单个路径段的数据。

Query String 解析器看参数细节

输入 ?tag=one&tag=two&empty=&q=a%2Bb+c 时,会保留两个 tag 行和空值,q 解码成 a+b c(%2B 是加号,+ 是空格);__proto__ 等特殊名称仍按普通分组 JSON 键处理。

明确两个解析器都不能证明什么

完整 URL 解析器会规范化语法,但不请求地址,也不证明可达、归属或安全。mailto:ops@example.com、urn:example:item 没有查询部分,Query String 解析器会返回空参数;错误百分号序列会报错,不会猜测。

常见问题

关于本文主题

只有 a=1&b=2 这样的文本该用哪个工具?

这不是完整 URL,更适合 Query String 解析器。URL 解析器会要求输入包含协议的完整 URL。

完整 URL 里没有查询参数怎么办?

URL 解析器仍可显示协议、Host、路径和片段;Query String 解析器则不会把路径当成参数。

两个工具会判断目标链接是否可访问吗?

不会。它们都只处理文本结构,不请求目标地址,也不提供可访问性或信誉判断。

延伸阅读

继续探索