我注意到

HTTP://STACKOVERFLOW.COM/QUESTIONS/ASK

and

http://stackoverflow.com/questions/ask

两者都可以工作-实际上前一个转换为小写字母。

我认为这对用户来说是有意义的。

如果我看谷歌,那么这个URL工作正常:

http://www.google.com/intl/en/about/corporate/index.html  

但是这个带ABOUT的不能用:

http://www.google.com/intl/en/ABOUT/corporate/index.html   

URL是否应该区分大小写?


当前回答

取决于主机操作系统。托管在Windows上的站点往往不区分大小写,因为底层文件系统不区分大小写。托管在Unix类型系统上的站点往往是区分大小写的,因为它们的底层文件系统通常是区分大小写的。URL的主机名部分总是不区分大小写的,路径的其余部分是不同的。

其他回答

有了官方的指导方针,有一个有趣的情况,人们应该考虑使用大写的整个url: QR码。

例如,https://example.com/不适合版本1 (21x21)的QR码,需要更大的版本2 (25x25)的QR码。

而使用字母数字模式允许将HTTPS://EXAMPLE.COM/12345塞进更小的版本1!

取决于主机操作系统。托管在Windows上的站点往往不区分大小写,因为底层文件系统不区分大小写。托管在Unix类型系统上的站点往往是区分大小写的,因为它们的底层文件系统通常是区分大小写的。URL的主机名部分总是不区分大小写的,路径的其余部分是不同的。

根据W3的“HTML和url”,它们应该:

可能有url,或者url的一部分,大小写不重要,但是 识别这些可能并不容易。用户应该始终考虑到这一点 url区分大小写。

RFC 3986第6.2.2.1节说:“scheme和host不区分大小写,因此应该规范化为小写。例如,URI HTTP://www.EXAMPLE.com/等价于http://www.example.com/。假定其他通用语法组件是区分大小写的,除非该方案另有特别定义”。

服务器可以在内部规范化传递的URI,并为不同大小写的URI (/about/和/about/)提供相同的资源,使URI对用户来说不区分大小写。

问题是url是否应该区分大小写?

我认为区分大小写的URL没有用处,也没有很好的实践。这很愚蠢,很糟糕,应该在任何时候都避免。

只是为了支持我的观点,当有人问什么URL,你怎么解释URL的字符是大写还是小写?这是无稽之谈,没有人会告诉你不是这样的。