解析 URL 各组成部分、查询参数分解、URL 编码/解码。输入 URL 后自动解析。
关于 URL 解析
一个完整的 URL 由协议、主机、端口、路径、查询字符串和锚点六部分组成。排查问题时最容易出错的是查询字符串——多个参数用 & 分隔,参数值里的特殊字符必须做百分号编码,否则会被当成分隔符截断。锚点(# 之后的部分)不会发送到服务器,只由浏览器处理。
常见问题
为什么参数值里的 & 会导致解析出错?
因为 & 是参数分隔符。参数值里出现它必须编码成 %26,否则会被切成两个参数。同理,值里的等号要编码成 %3D。
中文参数为什么变成一串百分号?
中文不在 URL 允许的字符集内,必须按 UTF-8 编码成字节再逐字节转成百分号形式。这是标准要求,并非出错。
锚点能在服务端读到吗?
不能。锚点由浏览器保留,不会出现在 HTTP 请求里。服务端需要这个信息时必须由 JavaScript 读取后再通过接口传递。