编码与安全指南
国际化域名:Punycode 标签与相似字形
转换国际化主机标签,区分编码等价、IDNA 处理与域名可信度。
按主机标签转换
Punycode 把部分 Unicode 域名标签表示为 ASCII,不是 URL 路径或查询参数的百分号编码。
xn-- 前缀表示编码标签,应把主机名与 URL 其他部分分开检查。
bücher.example
→ xn--bcher-kva.example不要编码整条 URL
协议、端口、路径与查询各有语法,Punycode 只用于域名标签,不能用于整条地址。
用 URL 解析工具提取主机名,对照浏览器归一化地址与标签转换结果。
Punycode 不等于完整 IDNA
IDNA 还涉及字符许可、映射与校验,独立编码器未必执行浏览器或注册商的全部规则。
在实际客户端中测试完整主机名,可逆转换不保证域名可以注册或解析。
明确核对域名身份
不同文字体系可能有外观相似字符,能显示 Unicode 域名不证明它属于预期发布者。
身份敏感场景应把精确 ASCII 主机名与允许列表比较,并独立检查证书与预期来源。