Skip to main content

normalize_authority

Function normalize_authority 

Source
pub fn normalize_authority(authority: &str, scheme: &str) -> String
Expand 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 两端空白。