主机名的有效字符是什么?这将类似于联网计算机或Web域.
把它放在上下文中,我正在编写一个连接到远程服务器的PC游戏; 所以我有一个主机名字段和一个端口字段.显然端口是Short范围内的数字,但是我需要知道所有可能的主机名字符是什么(以及可能需要的任何其他模式 - 主机名是否需要以字母开头?).
主机名的示例包括localhost或google.com.
Aar*_*way 79
查看此Wiki,特别是有效主机名的限制部分
主机名由与点连接的一系列标签组成,所有域名也是如此.例如,"en.wikipedia.org"是主机名.每个标签的长度必须介于1到63个字符之间,整个主机名(包括分隔点但不包括尾随点)最多包含253个ASCII字符.
协议的Internet标准(请求注释)要求组件主机名标签可以仅包含ASCII字母'a'到'z'(以不区分大小写的方式),数字'0'到'9'和连字符( ' - ').RFC 952中主机名的原始规范,强制标签不能以数字或连字符开头,并且不得以连字符结尾.但是,后续规范(RFC 1123)允许主机名标签以数字开头.不允许使用其他符号,标点字符或空格.
Jon*_*nna 23
这取决于您是否在IDN toASCII算法之前或之后处理IDN.(也就是说,你看到域名??????????.??????是??????????.??????或作为xn--hxajbheg2az3al.xn--jxalpdlp
在后一种情况下 - 您通过punycode处理IDN,那么旧的RFC 1123规则适用:
U + 0041至U + 005A(AZ),U + 0061至U + 007A(az)情况彼此折叠,U + 0030至U + 0039(0-9)和U + 002D( - ).[编辑:和U + 002E(.)当然; 标签的规则允许其他标签,标签之间的点,有时它是最容易忘记的明显位
如果您以IDN形式看到它,允许的字符变化很大,请参阅http://unicode.org/reports/tr36/idn-chars.html以获取所有有效字符的方便图表.
有可能你的网络代码将处理punycode,但你的显示代码(甚至只是将字符串传递到其他层或从其他层传递)与更人性化的形式,因为没有人在السعودية上运行服务器.域名希望看到他们的服务器列在.xn上 - mgberp4a5d4ar