【发布时间】:2011-01-10 01:18:03
【问题描述】:
hTTp://foo.com和Http://foo.COM一样吗?
我知道主机名不敏感,但路径名和查询部分很敏感。
【问题讨论】:
标签: url case-sensitive
hTTp://foo.com和Http://foo.COM一样吗?
我知道主机名不敏感,但路径名和查询部分很敏感。
【问题讨论】:
标签: url case-sensitive
【讨论】:
在实践中不敏感,但理论上只允许小写。
来自RFC 1738
2.1。 URL的主要部分
URL 的完整 BNF 描述 语法在第 5 节中给出。
一般来说,URL 写成 如下:
<scheme>:<scheme-specific-part>一个 URL 包含的名称 正在使用的方案 () 遵循 由一个冒号,然后是一个字符串( ) 谁的
解释取决于方案。方案名称由一个序列组成 的字符。小写
字母“a”--“z”、数字和 字符加号(“+”)、句号
(".") 和连字符 ("-") 是允许的。 对于弹性,程序
解释 URL 应该处理上层 大小写字母等同于小写 方案名称中的大小写(例如,允许 “HTTP”以及“http”)。
【讨论】:
this document(对于一些 HTML 规范)说:
URL 通常区分大小写(机器名称除外)。可能有 URL 或 URL 的一部分,大小写无关紧要,但识别这些可能并不容易。用户应始终考虑 URL 区分大小写
RFC1738 (Uniform Resource Locators (URL)) 表示(注意,URL 的格式为 <scheme>:<scheme-specific-part>):
方案名称由一系列字符组成。允许使用小写字母“a”--“z”、数字以及字符加号(“+”)、句点(“.”)和连字符(“-”)。为了弹性,解释 URL 的程序应将大写字母视为方案名称中的小写字母(例如,允许“HTTP”和“http”)。
因此只允许使用小写字符,但允许使用大写字符。
顺便说一句,Safari 会自动转换为小写字符。
【讨论】:
引用RFC3986:
虽然方案不区分大小写,但规范形式是小写的,指定方案的文档必须使用小写字母 [...]
【讨论】: