URL 解析

把链接拆成协议、主机、端口、路径、查询和片段,并逐个列出查询参数。

拆开链接,不做编码

一条链接里,主机、路径、查询和锚点各有各的规则。端口 443 常常不写出来。这一页把这些字段列出来,并逐条列出查询参数。它不做百分号编码。要编码请用 URL 编码。主机如果要写成 xn--,用 Punycode。

怎么用

  1. 粘贴完整地址,或「主机 + 路径」,例如 example.com/search?q=1。
  2. 「输入时更新」开着即可。结果依次是协议、用户名、主机、端口、路径、查询、片段和源,然后每个查询参数写成 键 = 值。
  3. 如果没写 http:// 或 https://,第一行会说明已按 https 处理。那一行是提示,不是你粘贴的内容。
  4. 示例里有用户名、密码、8080 端口、查询 tea 和锚点。

字段怎么读

拆分用的是浏览器的 URL 解析。没写端口时,会标出该协议的默认端口:https 是 443,http 是 80,并注明「默认」,好和手写的端口分开。用户名和密码如果在链接里,会出现在用户名那一行;屏幕如果会被别人看到,不要粘贴正在使用的密码。

查询值会解码,所以 %E5%8C%97%E4%BA%AC 显示成北京。# 后面的片段大多数服务器收不到,这里仍然列出,因为浏览器会留着它。没有主机的一段文字会被拒绝,不会被当成路径。

什么时候用这一页

  • 看跳转最终带了哪个参数。
  • 确认复制来的链接里有没有藏着端口或用户名。
  • 比较两条地址之前,先把源拿出来。

常见问题

我没写 https,为什么出现了?

没有协议的主机还不是完整链接。页面补上 https:// 才能解析,并在第一行说明。

查询被解码了,我要百分号形式。

这一页显示的是字符。要重新拼链接,用 URL 编码 再编一次。