Is the protocol name in URLs case sensitive?

萝らか妹 提交于 2019-11-29 09:06:36
Tobu

The scheme is case-insensitive: http://tools.ietf.org/html/rfc3986#section-3.1

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

The rest is case sensitive.

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").

Citing RFC3986:

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

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!