30

hTTp://foo.com一样的Http://foo.COM吗?

我知道主机名不敏感,但路径名和查询部分很敏感。

4

4 回答 4

25

该方案不区分大小写:https ://www.rfc-editor.org/rfc/rfc3986#section-3.1

主机名也不区分大小写,因为它是 DNS。

其余部分区分大小写。

于 2010-01-27T16:43:29.467 回答
11

它在实践中并不敏感,但理论上只允许小写。

来自RFC 1738

2.1。URL的主要部分

URL 语法的完整 BNF 描述在第 5 节中给出。

一般来说,URL 的写法如下:

   <scheme>:<scheme-specific-part>

URL 包含正在使用的方案的名称 (),后跟一个冒号,然后是一个字符串 (the),其
解释取决于方案。

方案名称由一系列字符组成。允许使用小写
字母“a”--“z”、数字以及字符加号(“+”)、句
点(“.”)和连字符(“-”)。为了弹性,
解释 URL 的程序应该将大写字母视为等同于方案名称中的小写字母(例如,允许“HTTP”以及“http”)。

于 2010-01-27T16:41:26.757 回答
4

引用RFC3986

尽管方案不区分大小写,但规范形式是小写的,指定方案的文档必须使用小写字母 [...]

于 2010-01-27T16:42:44.197 回答
3

那么这个文档(对于一些 HTML 规范)说:

URL 通常区分大小写(机器名称除外)。可能有 URL 或 URL 的一部分,大小写无关紧要,但识别这些可能并不容易。用户应始终考虑 URL 区分大小写

并且RFC1738(统一资源定位器(URL))说(注意,一个 URL 有形式<scheme>:<scheme-specific-part>):

方案名称由一系列字符组成。允许使用小写字母“a”--“z”、数字以及字符加号(“+”)、句点(“.”)和连字符(“-”)。为了弹性,解释 URL 的程序应该将大写字母视为等同于方案名称中的小写字母(例如,允许“HTTP”以及“http”)。

所以只允许使用小写字符,但允许使用大写字符。
顺便说一句,Safari 会自动转换为小写字符。

于 2010-01-27T16:42:01.387 回答