是hTTp://foo.com
一样的Http://foo.COM
吗?
我知道主机名不敏感,但路径名和查询部分很敏感。
它在实践中并不敏感,但理论上只允许小写。
来自RFC 1738
2.1。URL的主要部分
URL 语法的完整 BNF 描述在第 5 节中给出。
一般来说,URL 的写法如下:
<scheme>:<scheme-specific-part>
URL 包含正在使用的方案的名称 (),后跟一个冒号,然后是一个字符串 (the),其
解释取决于方案。方案名称由一系列字符组成。允许使用小写
字母“a”--“z”、数字以及字符加号(“+”)、句
点(“.”)和连字符(“-”)。为了弹性,
解释 URL 的程序应该将大写字母视为等同于方案名称中的小写字母(例如,允许“HTTP”以及“http”)。
引用RFC3986:
尽管方案不区分大小写,但规范形式是小写的,指定方案的文档必须使用小写字母 [...]
那么这个文档(对于一些 HTML 规范)说:
URL 通常区分大小写(机器名称除外)。可能有 URL 或 URL 的一部分,大小写无关紧要,但识别这些可能并不容易。用户应始终考虑 URL 区分大小写
并且RFC1738(统一资源定位器(URL))说(注意,一个 URL 有形式<scheme>:<scheme-specific-part>
):
方案名称由一系列字符组成。允许使用小写字母“a”--“z”、数字以及字符加号(“+”)、句点(“.”)和连字符(“-”)。为了弹性,解释 URL 的程序应该将大写字母视为等同于方案名称中的小写字母(例如,允许“HTTP”以及“http”)。
所以只允许使用小写字符,但允许使用大写字符。
顺便说一句,Safari 会自动转换为小写字符。