CNNIC 中文域名的技术难点
在中文域名技术实现中,困难主要来自两个方面:一是来自浏览器和现行的域名系统,二是由于中文自身特点。
目前,大多数的浏览器及域名系统软件皆是针对ASCII(英文)域名而设计的,例如:一些汉字的第二个字节与ASCII码字符集中的转义符"\"的代码相同(均为"0x5C"),因此当我们的中文域名里包含了这个字符(如奬、穃、乗、怽、玕、砛等)就对中文域名的正确解析造成了困难。
现有的网络资源浏览器,不论是英文版的还是中文版的,其内核对英文域名的支持是比较完善的,但是对中文域名的支持能力不够。这是浏览器固有的问题,是每个中文域名提供商都不可避免的问题。
解决浏览器问题的思路主要有两种:
1) 改进浏览器的功能,使它们能较好地支持中文。这是最理想化的方法,但这种方法不是一朝一夕就能实现的。
2) 在过渡阶段,可行的、较完善的解决方法是在用户的操作系统中,安装客户服务程序,以弥补浏览器本身的不足,从而实现对中文域名正常的访问。
中文域名技术中另一个困难来自于中文本身的特殊性。首先,从汉字书写形式上看,由于汉字有简体字(如"国")和繁体字(如"國",编码"0x87","0xf8")之分,而简体字和繁体字并不是一一对应的。有时一个简体字对应两三个繁体字(例如,简体的"发",繁体既有"發",也有"髮"),反之依然,而且不同的搭配又会有不同的含义。为保证中文域名的互联互通,这一问题也必须解决。另外,从汉字编码方式上看,大陆和台湾采用了不同的汉字编码标准。大陆的标准为GB2312及其扩展GBK(即GB13000),台湾的标准为BIG5。GBK和BIG5采用相似的编码原理,但同样的二进制序列在GBK和BIG5中可能有不同的含义,如"0xb0","0xa1"在GBK中是"啊",而在BIG5中是"陛"。现有的Window9X系统中,当用户在浏览器中的域名部分打入汉字时,操作系统会将汉字的本地编码(GBK或BIG5,依Window版本而定)或UTF-8编码放在域名请求的包中发给其网络配置中指定的解析服务器。要域名服务器识别出域名是GBK或BIG5编码或UTF-8是很困难的。
目前,大多数的浏览器及域名系统软件皆是针对ASCII(英文)域名而设计的,例如:一些汉字的第二个字节与ASCII码字符集中的转义符"\"的代码相同(均为"0x5C"),因此当我们的中文域名里包含了这个字符(如奬、穃、乗、怽、玕、砛等)就对中文域名的正确解析造成了困难。
现有的网络资源浏览器,不论是英文版的还是中文版的,其内核对英文域名的支持是比较完善的,但是对中文域名的支持能力不够。这是浏览器固有的问题,是每个中文域名提供商都不可避免的问题。
解决浏览器问题的思路主要有两种:
1) 改进浏览器的功能,使它们能较好地支持中文。这是最理想化的方法,但这种方法不是一朝一夕就能实现的。
2) 在过渡阶段,可行的、较完善的解决方法是在用户的操作系统中,安装客户服务程序,以弥补浏览器本身的不足,从而实现对中文域名正常的访问。
中文域名技术中另一个困难来自于中文本身的特殊性。首先,从汉字书写形式上看,由于汉字有简体字(如"国")和繁体字(如"國",编码"0x87","0xf8")之分,而简体字和繁体字并不是一一对应的。有时一个简体字对应两三个繁体字(例如,简体的"发",繁体既有"發",也有"髮"),反之依然,而且不同的搭配又会有不同的含义。为保证中文域名的互联互通,这一问题也必须解决。另外,从汉字编码方式上看,大陆和台湾采用了不同的汉字编码标准。大陆的标准为GB2312及其扩展GBK(即GB13000),台湾的标准为BIG5。GBK和BIG5采用相似的编码原理,但同样的二进制序列在GBK和BIG5中可能有不同的含义,如"0xb0","0xa1"在GBK中是"啊",而在BIG5中是"陛"。现有的Window9X系统中,当用户在浏览器中的域名部分打入汉字时,操作系统会将汉字的本地编码(GBK或BIG5,依Window版本而定)或UTF-8编码放在域名请求的包中发给其网络配置中指定的解析服务器。要域名服务器识别出域名是GBK或BIG5编码或UTF-8是很困难的。