URL 解析器

解析 URL 的各个组成部分——协议、主机、端口、路径、查询参数和片段。所有处理在浏览器中完成。

即时解析 完整组件 客户端处理

如何使用 URL 解析器

三个简单步骤解析任何 URL

1

粘贴 URL

在输入框中输入 URL——包含查询字符串的完整 URL 效果最佳。

2

即时分解

URL 实时解析为所有组成部分。

3

查看参数

在表格中查看已解码的查询参数,并可复制单个组件。

什么是 URL?

统一资源定位符(URL)是一种网页地址,用于指定计算机网络上的资源位置和检索方式。URL 由多个组件组成,包括协议、域名、端口、路径、查询参数和片段。

URL 结构

URL 由以下部分组成:

协议

通信协议(http、https、ftp 等)

主机名

服务器的域名或 IP 地址

端口

网络端口号(默认:HTTP 为 80,HTTPS 为 443)

路径

服务器上的具体资源路径

查询字符串

用于动态内容的键值参数

片段

指向页面特定位置的锚点

常见问题

URL 解析器能检测哪些组件?

解析器可提取协议、主机名、端口、路径、查询字符串参数(以表格展示)、片段、用户名、密码、来源和搜索字符串。

能解码 URL 编码的字符吗?

可以。所有 URL 编码的字符(如 %20、%3A)都会在输出中自动解码以便阅读。

可以解析相对 URL 吗?

本工具最适合绝对 URL(以 http:// 或 https:// 开头)。相对 URL 需要浏览器自动提供的基础 URL。

URI、URL 和 URN 有什么区别?

URI 是 RFC 3986 定义的统称术语:由协议(scheme)、路径、查询和片段组成的标识符。URL 是定位某个资源的 URI(https://ezparser.com/url-parser),而 URN 只命名资源但不指明位置(urn:isbn:0451450523)。在日常 Web 开发中,您几乎总是指 URL。

百分号编码是如何工作的?

每个不属于非保留字符(A-Z、a-z、0-9、- . _ ~)的字节都会写成 % 加上两位十六进制数字:空格变成 %20,é(带尖音符的 e)在 UTF-8 中变成 %C3%A9。像 / ? # & = 这样的保留字符在 URL 结构中具有特殊含义,因此当它们作为数据使用时必须编码。在查询字符串中,较旧的表单编码器还会把空格映射为 + —— 本工具可以解码这两种形式。

URL 的各个部分分别叫什么?

https://user:[email protected]:8443/v2/users?page=2#results 可分解为协议(https)、用户信息(user:pass@)、主机(api.example.com)、端口(8443)、路径(/v2/users)、查询(page=2)和片段(#results)。RFC 3986 第 3 节定义了这一语法;本解析器会为您标注每个组件。

路径中的 //、/./ 和 /../ 真的会被解析成什么吗?

是的——RFC 3986 第 6 节定义了规范化规则:/a/./b 解析为 /a/b,/a/../b 解析为 /b,空段 // 会折叠为 /。浏览器和 HTTP 客户端会在发送请求前应用这些规则,这就是为什么仅在点段上有差异的 URL 通常会到达同一资源。基于协议的规范化还会将主机转为小写,并去掉默认的 :443 端口。

URL 有最大长度限制吗?

RFC 3986 没有设定上限。实际上 Chrome 大约接受 2 MB,但大多数服务器将请求行限制在 8 KB 左右(Apache 默认的 LimitRequestLine 为 8190 字节),而 Twitter/X 等 API 文档中说明的限制为 2048 个字符。将 URL 控制在 2000 个字符以内是分享和 SEO 的惯用安全范围。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}