Nameprep — это процесс преобразования регистра строки в нижний и удаления некоторых обычно невидимых кодовых точек, прежде чем она станет пригодной для представления доменного имени или другого канонического имени. Он используется стандартом Internationalizing Domain Names in Applications (IDNA), использующим стандарт Unicode для нормализации NFKC .
Nameprep определен в RFC 3491, «Nameprep: профиль Stringprep для интернационализированных доменных имен (IDN)», [1] как профиль stringprep, который описан в RFC 3454, «Подготовка интернационализированных строк («stringprep»)». [2]
Он не сопоставляет похожие символы с одним символом и не запрещает использование похожих символов. Для этого есть веские причины, такие как тот факт, что одни и те же наборы символов могут быть похожими в некоторых шрифтах, но не в других, и тот факт, что любое решение о том, какой символ сопоставлять, очевидно, будет давать предвзятость в пользу пользователей одного шрифта; но это также может иметь потенциально серьезные последствия для безопасности, если не будет учтено разработчиками и администраторами систем, основанных на nameprep (самым известным примером [ which? ] [ необходима цитата ] этого является обработка VeriSign имен IDNA в .com и .net).