使用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等下