【问题标题】:Is the protocol name in URLs case sensitive?URL 中的协议名称是否区分大小写?
【发布时间】:2011-01-10 01:18:03
【问题描述】:

hTTp://foo.comHttp://foo.COM一样吗?

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

【问题讨论】:

    标签: url case-sensitive


    【解决方案1】:

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

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

    其余部分区分大小写。

    【讨论】:

      【解决方案2】:

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

      来自RFC 1738

      2.1。 URL的主要部分

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

      一般来说,URL 写成 如下:

         <scheme>:<scheme-specific-part>
      

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

      方案名称由一个序列组成 的字符。小写
      字母“a”--“z”、数字和 字符加号(“+”)、句号
      (".") 和连字符 ("-") 是允许的。 对于弹性,程序
      解释 URL 应该处理上层 大小写字母等同于小写 方案名称中的大小写(例如,允许 “HTTP”以及“http”)。

      【讨论】:

      【解决方案3】:

      this document(对于一些 HTML 规范)说:

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

      RFC1738 (Uniform Resource Locators (URL)) 表示(注意,URL 的格式为 &lt;scheme&gt;:&lt;scheme-specific-part&gt;):

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

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

      【讨论】:

        【解决方案4】:

        引用RFC3986

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

        【讨论】:

        • 换个说法,作为一般指南,大多数这些 RFC(与互联网标准相关)对生产者端严格,对消费者端宽松。
        猜你喜欢
        • 2012-07-03
        • 2018-09-07
        • 1970-01-01
        • 2016-11-24
        • 1970-01-01
        • 2019-08-03
        • 2023-03-22
        • 2014-01-19
        相关资源
        最近更新 更多