URL 中的协议名称区分大小写吗?

发布于 2024-08-19 12:40:48 字数 100 浏览 5 评论 0原文

hTTp://foo.comHttp://foo.COM 相同吗?

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

Is hTTp://foo.com the same as Http://foo.COM?

I know that hostnames are not sensitive but path names and query parts are sensitive.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

¢好甜 2024-08-26 12:40:48

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

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

其余部分区分大小写。

The scheme is case-insensitive: https://www.rfc-editor.org/rfc/rfc3986#section-3.1

The hostname is also case-insensitive, since it's DNS.

The rest is case sensitive.

〃温暖了心ぐ 2024-08-26 12:40:48

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

来自 RFC 1738

2.1。 URL的主要部分

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

一般来说,URL 写为
如下:

 <方案>:<方案特定部分>

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

方案名称由一个序列组成
的字符。小写
字母“a”--“z”、数字和
字符加号(“+”)、句点
(“.”) 和连字符 (“-”) 是允许的。
为了提高弹性,计划
解释 URL 时应考虑上层
大写字母相当于小写字母
方案名称中的大小写(例如,允许
“HTTP”以及“http”)。

It is not sensitive in practice but in theory only lower case is allowed.

From RFC 1738

2.1. The main parts of URLs

A full BNF description of the URL
syntax is given in Section 5.

In general, URLs are written as
follows:

   <scheme>:<scheme-specific-part>

A URL contains the name of the
scheme being used () followed
by a colon and then a string (the
) whose
interpretation depends on the scheme.

Scheme names consist of a sequence
of characters. The lower case
letters "a"--"z", digits, and the
characters plus ("+"), period
("."), and hyphen ("-") are allowed.
For resiliency, programs
interpreting URLs should treat upper
case letters as equivalent to lower
case in scheme names (e.g., allow
"HTTP" as well as "http").

初吻给了烟 2024-08-26 12:40:48

引用 RFC3986

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

Citing RFC3986:

Although schemes are case-insensitive, the canonical form is lowercase and documents that specify schemes must do so with lowercase letters [...]

已下线请稍等 2024-08-26 12:40:48

那么此文档(对于某些HTML规范)说:

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

,并且 RFC1738(统一资源定位器 (URL)) 表示(注意,URL 的格式为 :):

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

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

Well this document (for some HTML specification) says:

URLs in general are case-sensitive (with the exception of machine names). There may be URLs, or parts of URLs, where case doesn't matter, but identifying these may not be easy. Users should always consider that URLs are case-sensitive

And RFC1738 (Uniform Resource Locators (URL)) says (note, a URL has the form <scheme>:<scheme-specific-part>):

Scheme names consist of a sequence of characters. The lower case letters "a"--"z", digits, and the characters plus ("+"), period ("."), and hyphen ("-") are allowed. For resiliency, programs interpreting URLs should treat upper case letters as equivalent to lower case in scheme names (e.g., allow "HTTP" as well as "http").

So only lowercase characters are allowed, but uppercase characters are tolerated.
Btw Safari automatically converts to lowercase characters.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文