微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

domain – HTTP(S)URL的主机名部分是否真的不区分大小写?

使用http(s)://CompanyName.com/xyz作为URL(例如用于品牌推广)而不对服务端配置进行任何更改是否安全?

我知道DNS不区分大小写,但是仍然会有副作用吗?我在考虑例如链的各个部分未能与CompanyName.com~companyname.com相匹配:

>某些Web后端可能无法匹配
>某些负载均衡器/代理/缓存/应用层防火墙可能无法匹配
>某些客户端可能会错误地应用同源策略
>某些客户端可能无法匹配证书检查
>虽然DNS通常不区分大小写,但IDN可以改变图片吗?

任何人在URL的主机名部分遇到过大写字母或其他问题?

[编辑]
@Michael Hampton指出,根据HTTP标准,主机名IS不区分大小写,但有些软件在这方面是不合规的.

我试图了解非兼容软件的流行程度,尤其是客户.我假设所有最近的主要浏览器都很好,但是例如关于移动应用? (我应该把它拆分成一个单独的SF问题吗?)
[/编辑]

解决方法

是的,主机名确实不区分大小写,如 RFC 3986 § 3.2.2中所述,因为 hostnames in general are case-insensitive in the DNS.此RFC还提供了有关如何避免您提到的问题的建议:

Although host is case-insensitive,producers and normalizers should use lowercase for registered names and hexadecimal addresses for the sake of uniformity,while only using uppercase letters for percent-encodings.

我已经看到至少一个HTTP缓存(W3 Total Cache)没有以这种方式规范化主机名,并最终多次缓存内容,例如在example.com,Example.Com,EXAMPLE.COM等下

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐