专题 C6:编码与哈希
URL 编码详解:常见错误与解决方案
URL 编码问题多数不是不会用函数,而是在错误边界上编码、重复编码,或让解析行为在多个层之间失控。
编码的是值,不是整条 URL
最常见的错误是把完整 URL 整串做编码。真正该编码的是 query value、path segment 等动态数据,而不是 `/`、`?`、`&` 这些结构分隔符。
只要边界一错,重定向、API 调用和追踪链接就会出现肉眼难查的细碎故障。
避免双重编码和解析分叉
- 明确最后一次编码由客户端还是服务端负责。
- 原始值尽量以未编码形式存储,在传输边界再统一编码。
- 对 `+`、空格、Unicode 和保留字符准备回归样例,统一解析库行为。
实用输入/输出示例
输入
搜索值:"email + alias" 目标:作为 API 请求 query 参数发送
输出
只编码 query value 本身 服务端解码后恢复原始字符串