pub fn normalize_authority(authority: &str, scheme: &str) -> StringExpand description
规范化 Authority(host:port)
§规则
- 默认端口省略(http:80, https:443)
- Host 小写化
- 处理 IPv6 地址
§与 normalize_host_key 的分工差异(设计使然,禁止“统一“两者行为)
本函数是请求 authority 的 RFC 语义规范化,面向路由/转发;
normalize_host_key 是缓存键等值折叠规范化。具体差异:
- 默认端口判定:本函数 scheme 感知,仅 http 省略
:80、https 省略:443(http 下:443原样保留);normalize_host_key不感知 scheme,:80/:443一律剥离。 - FQDN 尾点:本函数保留尾点(
example.com.→example.com.);normalize_host_key剥离尾点(→example.com)。 - 空白:本函数不 trim;
normalize_host_key会 trim 两端空白。