Допустимые символы имени хоста?
каковы допустимые символы в имени хоста? Это будет что-то вроде сетевого компьютера или веб-домен.
чтобы поместить его в контекст, я пишу компьютерную игру, которая подключается к удаленному серверу; поэтому у меня есть поле для имени хоста и поле для порта. Очевидно, что порт-это число в коротком диапазоне, но мне нужно знать, что такое все возможные символы имени хоста (и любой другой шаблон, который может потребоваться - нужно ли имя хоста начинать с a письмо?).
примеры имени хоста включают localhost или google.com.
3 ответов:
оформить заказ wiki, а конкретно раздел ограничения на допустимые имена хостов
имена хостов состоят из ряда меток, Соединенных точками, как и все доменные имена. Например, "en.wikipedia.org-это имя хоста. Каждая метка должна быть длиной от 1 до 63 символов, а все имя хоста (включая разделяющие точки, но не конечную точку) имеет максимум 253 символа ASCII.
Интернет стандарты (запросы на комментарии) для протоколов предписывают, что метки имен хостов компонентов могут содержать только буквы ASCII от " a " до " z "(без учета регистра), цифры от " 0 " до " 9 " и дефис (" -"). Исходная спецификация имен хостов в RFC 952 предписывала, что метки не могут начинаться с цифры или дефиса и не должны заканчиваться дефисом. Однако последующая спецификация (RFC 1123) разрешила меткам имен хостов начинаться с цифр. Никаких других символов, знаков препинания допускаются символы или пробелы.
Это зависит от того, обрабатываете ли вы IDN до или после алгоритма IDN toASCII. (то есть, вы видите доменное имя
παράδειγμα.δοκιμήКакπαράδειγμα.δοκιμήилиxn--hxajbheg2az3al.xn--jxalpdlpв последнем случае-когда вы обрабатываете IDN через punycode, то применяются старые правила RFC 1123:
U+0041 через U+005A (A-Z), U+0061 через U+007A (a-z) случай сложенный как один другого, U+0030 через U+0039 (0-9) и U + 002D (-). [edit: и U + 002E (.) конечно; правила для ярлыков позволяют другие, с точками между метками, иногда это очевидные биты, которые легче всего забыть]
Если вы видите его в форме IDN, разрешенные символы сильно различаются, см. http://unicode.org/reports/tr36/idn-chars.html для удобной диаграммы всех допустимых символов.
скорее всего, ваш сетевой код будет иметь дело с punycode, но ваш код отображения (или даже просто передача строк на другие слои и из других слоев) с более удобочитаемой формой, как никто запуск сервера на السعودية. домен хочет, чтобы их сервер был включен в список.xn--mgberp4a5d4ar
" имя " (сеть, хост, шлюз или доменное имя)-это текстовая строка длиной до 24 символов, состоящая из алфавита (A-Z), цифр (0-9), знака минус ( - ) и точки (.). Обратите внимание, что точки допускаются только тогда, когда они служат для разграничения компонентов "имен стилей домена". (См. RFC-921, "наименование график реализации доменных", для фона). В имени не допускается использование пробелов или пробелов. Нет различия между верхним и нижним регистром. Первый символ должен быть альфа характер. Последний символ не должен быть знаком минус или точкой. Хост, который служит шлюзом, должен иметь "-GATEWAY" или "-GW" в качестве части своего имени. Хосты, которые не служат в качестве интернет-шлюзов, не должны использовать "- GATEWAY" и "- GW " в качестве части своих имен. Хост, который является TAC, должен иметь "-TAC " в качестве последней части своего имени хоста, если это хост DoD. Имена или прозвища одного персонажа не допускаются.
Это предусмотрено в http://support.microsoft.com/kb/149044
Comments