2014-02-05 4 views

ответ

3

QUrl всегда содержит имена хостов.

QUrl соответствует спецификации URI из RFC 3986 (Uniform Resource Identifier: Общий синтаксис), и включает в себя схему расширения из RFC 1738 (Uniform Resource Локаторы). Правила сворачивания событий в QUrl соответствуют RFC 3491 (Nameprep: профиль Stringprep для интернационализированных доменных имен (IDN)).

...

Обратите внимание, что в случае складывания правил в Nameprep, который QUrl соответствует, требуют имен хостов всегда быть преобразованы в нижний регистр, независимо от :: FormattingOptions Qt используется.

(From Qt 4.7 documentation, ближайший я могу найти 4.6.3)

Если вы используете «поддельный» URL, чтобы просто передать некоторые данные вокруг вашего приложения, вы можете сохранить дело, используя фиктивное имя хоста и передавая вашу реальную информацию как путь или запрос. Например. myprotocol:///ABC (то же, что и написание localhost/ABC).

2

В этом случае ABC интерпретируется как имя хоста (домена) вашего URL-адреса. Хотя формат не ограничивает его, а имена узлов не учитывают регистр, рекомендуется, чтобы этот URL был чувствительным к регистру. Например, W3 states:

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

Я думаю, что браузеры также следуют этому правилу: все URL-адреса с символами верхнего регистра преобразуются в строчные буквы. Я пробовал это в Chrome, FF и IE.

Смежные вопросы