Являются ли доменные имена IDN чувствительными к регистру?

Некоторые люди ответят, что доменные имена не чувствительны к регистру. В новом мире Unicode это уже не так.

(Источник)

Я думал, что одним из шагов в преобразовании Unicode > Punycode была «нормализация», которая переводила доменные имена в нижний регистр.


person TRiG    schedule 05.10.2011    source источник
comment
См. официальную спецификацию (IETF RFC 4343): Разъяснение нечувствительности к регистру системы доменных имен (DNS)   -  person Basil Bourque    schedule 03.11.2013


Ответы (2)


Для устаревших ASCII на основе доменные имена. Да, доменные имена были и остаются нечувствительными к регистру.

Например, все они представляют один и тот же домен:

  • пример.com
  • Пример.com
  • ПРИМЕР.COM
  • EXampLE.com

В современной DNS у нас теперь есть Интернационализированные доменные имена (IDN), допускающие использование символов Unicode. Проблема в том, что определение верхнего и нижнего регистра может быть сложным для некоторых языков и наборов символов помимо ASCII (Unicode является надмножеством US-ASCII).

Назначение доменных имен заключается в том, чтобы не учитывать регистр, но могут быть сложности с определенными символами в определенных алфавитах определенных человеческих языков. Так что нет простого ответа ДА или НЕТ на ваш вопрос.

Если вы используете доменные имена, отличные от ASCII, вы должны прочитать:

person Basil Bourque    schedule 02.11.2013

НЕПРАВИЛЬНО: URL-адреса по-прежнему нечувствительны к регистру, даже для IDN.


ПОПРАВКА:

Вопрос касался IDN: "Учитывается ли регистр доменных имен IDN?"

Мой первоначальный ответ неверен и не дает четкого ответа на вопрос. Он добавляет URL-адреса.

Часть имени домена (IDN) URL-адреса нечувствительна к регистру.

Другие элементы могут быть нечувствительны к регистру или нет. Это зависит от многих вещей и в целом непредсказуемо.

Например, часть пути обычно зависит от ОС или даже файловой системы, на которой размещается сайт (в MacOS вы можете отформатировать диск как нечувствительный к регистру или нет). Но в наши дни вы можете «зацепить» некоторые из этих путей, чтобы отвечать RESTfull API . Так что все зависит от того, как сделан "крючок".

Аналогично для других элементов (пользователь, пароль, параметры, значения параметров)

person Mihai Nita    schedule 07.10.2011
comment
См. RFC 3987 Интернационализированные идентификаторы ресурсов (IRI). Они чувствительны к регистру, но в зависимости от конкретной схемы они МОГУТ быть нечувствительными к регистру. Доменная часть IRI нечувствительна к регистру, но не другие части, такие как пути и имена файлов. - person davispuh; 16.04.2014
comment
Вопрос касается IDN, а не IRI. Доменное имя — это всего лишь часть IRI. Проверьте RFC 3490. toASCII вызывает nameprep (RFC 3491), который ссылается на stringprep (RFC 3454). В разделе 3.2 Свертывание регистра указывается точная таблица свертывания (CaseFolding.txt) и версия Unicode (3.2). Таким образом, не только регистронезависимый, но и указывается точная таблица преобразования регистра. - person Mihai Nita; 23.04.2014
comment
Таким образом, утвержденный ответ не является точным, говоря, что определение верхнего и нижнего регистра может быть сложным для языков и наборов символов за пределами ASCII. Это Unicode, и указана точная версия. Никаких других наборов символов. Даже в статье Википедии, рекомендованной ответом, говорится, что применяется алгоритм Nameprep, который преобразует метку в нижний регистр и выполняет другую нормализацию. Поэтому, пожалуйста, прежде чем голосовать против, сделайте домашнее задание. - person Mihai Nita; 23.04.2014
comment
URL чувствительны к регистру. Как это обычно происходит на практике: пути, обслуживаемые серверами Linux (например, Apache), чувствительны к регистру (например, файловая система), в то время как серверы Windows (например, IIS) НЕ чувствительны к регистру (например, файловые системы Windows). Ваш пробег может отличаться. - person user5994461; 06.03.2017
comment
@user5994461. Вопрос касался именно доменных имен, а не всего URL-адреса. Я знаю, что пути чувствительны к регистру в соответствии со спецификацией HTTP, даже если некоторые серверы не обязательно обрабатывают их как таковые. - person TRiG; 27.07.2017