IDN
До 2003 року доменні імена могли складатися лише з літер латинського алфавіту, цифр від 0 до 9 і дефіса. Ці заходи пояснюються тим, що Система доменних імен була побудована на основі англійської клавіатури і не дуже підходила для такого глобального проєкту, як Інтернет.
Щоб виправити ситуацію, було введено систему, яка називається Інтернаціоналізація доменних імен (IDN). Метою цього механізму було визначення стандартизованого перекладу з Unicode в ASCII (Американський стандартний код для обміну інформацією), щоб символи з усіх відомих алфавітів світу могли відображатися в доменах Інтернету.
Як це працює?
Більшість інфраструктури Інтернету підтримується лише набором символів ASCII. Щоб переконатися, що ці інтернаціоналізовані імена можуть бути оброблені, кожен IDN, доступний у форматі Unicode, може бути перетворений на рядок ACE. Цей рядок базується на Американському стандартному коді для обміну інформацією (ASCII). Після цього URL-адреси з акцентами або умлаутами відображаються так, як слід. А сервер, у свою чергу, продовжує обробляти адресу як сумісну з ASCII. Ці процеси описані в меморандумах IDNA2003 та IDNA2008. Перетворення з Unicode в ASCII виконується на стороні клієнта і базується на стандартизованих процесах кодування Punycode.
Відмінності між IDN2003 та IDNA
Первісний процес 2003 року передбачав нормалізацію інтернаціоналізованих URL перед процесом кодування Punycode за допомогою методу nameprep. Цей метод змінював великі літери на малі, видаляв невидимі символи та об'єднував еквівалентні символи. Nameprep був вилучений із цього процесу з моменту запровадження IDNA2008. Тепер IDNA не передбачає нормалізації, але рекомендує алгоритм, який перетворює великі літери на малі.