跳到正文

← 全部工具

免费在线工具

网址解析与生成

粘贴一个网址,就能看到它的各个部分:协议、用户名、主机、端口、路径、查询字符串和片段,每个查询参数都在表格里解码显示。修改任意部分,本页会用正确的编码重新生成网址。使用浏览器自带的 URL 解析器,不上传任何内容。

各个部分

协议
https
用户名
user
主机
www.example.com
端口
8443
源(Origin)
https://www.example.com:8443
路径
/docs/a%20b/index.html
查询字符串
?q=hello+world&tag=a&tag=b&utm_source=news%C3%A9
片段
#section-2
  • 网址里带了用户名或密码。浏览器和很多网站会拦截或隐藏这类写法,而且链接里的内容别人都能看到。
  • 这些参数名出现了多次:tag。网站怎么处理(取第一个、最后一个还是全部)因站而异。

路径分段(已解码)

  1. docs
  2. a b
  3. index.html

查询参数(已解码)

#参数名值
1qhello worldhello+world
2taga
3tagb
4utm_sourcenewsénews%C3%A9

修改并重新生成

可以修改任意部分。你输入的值会被正确地做百分号编码。

重新生成的网址

https://user@www.example.com:8443/docs/a%20b/index.html?q=hello%20world&tag=a&tag=b&utm_source=news%C3%A9#section-2

使用方法

  • •粘贴网址。如果没有协议,会补上 https:// 并提示你。
  • •“各个部分”按浏览器的理解列出每一段。如果是国际化域名,主机还会显示可读形式。查询表格会解码百分号转义和 + 号(空格),并标出重复的参数名。
  • •在“修改并重新生成”里可以修改主机、路径、参数或片段,增删参数,然后复制新网址。你输入的值会被百分号编码。

它能做什么,不能做什么

  • •它遵循浏览器使用的 WHATWG URL 标准。其他工具和较老的库(RFC 3986)对奇怪的网址可能有不同的解读。
  • •片段(#……)不会发送给服务器,这里显示只是因为它是网址的一部分。
  • •查询字符串没有官方结构:用 & 分隔的 key=value 只是一种约定。有些网站用 ; 或 a[b]=1 这类嵌套写法,这里会按普通参数名显示。
  • •浏览器拒绝的网址(例如主机里有空格)会显示错误,而不是猜测。

常见问题

网址由哪几部分组成?
协议://用户名:密码@主机:端口/路径?查询#片段。例如 https://example.com:8443/a/b?x=1#top 的协议是 https,主机 example.com,端口 8443,路径 /a/b,查询 x=1,片段 top。
主机和源(origin)有什么区别?
源是协议 + 主机 + 端口(https://example.com:8443),浏览器用它来执行 Cookie、跨域等安全规则。主机只是名称。
为什么有些字符显示成 %20 或 %C3%A9?
网址里不允许出现的字符会写成 % 加上它的 UTF-8 字节。%20 是空格,%C3%A9 是 é。表格里解码值和原始值不同时,两者都会显示。
为什么 + 变成了空格?
在查询字符串里,+ 代表空格(表单编码的约定)。在路径里 + 只是加号,所以路径分段不按这条规则解码。
会上传我的网址吗?
不会,解析在本页里完成。

相关工具