Является ли имя протокола в URL чувствительным к регистру? - PullRequest
23 голосов
/ 27 января 2010

Является ли hTTp://foo.com таким же, как Http://foo.COM?

Я знаю, что имена хостов не чувствительны, но имена путей и части запросов чувствительны.

Ответы [ 4 ]

19 голосов
/ 27 января 2010

Схема нечувствительна к регистру: http://tools.ietf.org/html/rfc3986#section-3.1

Имя хоста также нечувствительно к регистру, поскольку оно DNS.

Остальное чувствительно к регистру.

10 голосов
/ 27 января 2010

На практике это не чувствительно, но теоретически допускается только нижний регистр.

С RFC 1738

2,1. Основные части URL

Полное BNF-описание URL синтаксис приведен в разделе 5.

Как правило, URL-адреса записываются как следующим образом:

   <scheme>:<scheme-specific-part>

URL-адрес содержит название используемая схема () двоеточием, а затем строкой ( ) чей
Интерпретация зависит от схемы.

Имена схем состоят из последовательности персонажей. Строчные буквы
буквы "а" - "z", цифры и символы плюс ("+"), точка
(".") и дефис ("-") разрешены. Для устойчивости, программы
URL-адреса интерпретации должны относиться к верхним регистр букв как эквивалент нижнего регистр в именах схем (например, разрешить «HTTP», а также «http»).

4 голосов
/ 27 января 2010

Цитирование RFC3986 :

Несмотря на то, что схемы нечувствительны к регистру, каноническая форма строчная, и документы, в которых указаны схемы, должны делать это строчными буквами [...]

3 голосов
/ 27 января 2010

Ну этот документ (для некоторых спецификаций HTML) гласит:

URL-адреса, как правило, чувствительны к регистру (за исключением имен компьютеров). Там могут быть URL-адреса или части URL-адресов, где регистр не имеет значения, но определить их может быть непросто. Пользователи всегда должны учитывать, что URL-адреса чувствительны к регистру

И RFC1738 (Унифицированные указатели ресурсов (URL)) говорит (обратите внимание, URL имеет форму <scheme>:<scheme-specific-part>):

Имена схем состоят из последовательности символов. Допускаются строчные буквы "a" - "z", цифры и символы плюс ("+"), точка (".") И дефис ("-"). Для обеспечения устойчивости программы, интерпретирующие URL-адреса, должны обрабатывать буквы верхнего и нижнего регистра в именах схем (например, разрешать «HTTP», а также «http»).

Таким образом, допускаются только строчные буквы, но допускаются прописные.
Кстати, Safari автоматически конвертируется в строчные буквы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...