最近在做新的Web项目时,因为一个验证码无法保存在Cookie中,或者更确切地说是IE下无法保存Cookie的问题纠结了整整一天时间,考虑了多种原因,单步调试了不下三十次,也没有结果。甚至在无奈之下改为Session存储,同样不能保存!最好想到了会不会是因为域名问题呢?因为Firefox、chrome、Opera等主流浏览器都是可以保存的,这就说明程序应该没有问题,剩下的就可能是IE自身的一些规则或者是特点决定了吧!查下IE下域名规则,果不其然,痛定思痛,留下域名规则以作为警戒吧,呵呵!
由于internet上的各级域名是分别由不同机构管理的,所以,各个机构管理域名的方式和域名命名的规则也有所不同。但域名的命名也有一些共同的规则,主要有以下几点: 一、域名中只能包含以下字符: 1. 26个英文字母2. “0,1,2,3,4,5,6,7,8,9”十个数字 3. “-”(英文中的连词号)(切记没有下划线“_",我就是犯了这个错误,悔恨啊!) 二、域名中字符的组合规则: 1. 在域名中,不区分英文字母的大小写 2. 对于一个域名的长度是有一定限制的 cn下域名命名的规则为: 一、遵照域名命名的全部共同规则 二、只能注册三级域名,三级域名用字母(a-0z,a-z,大小写等价)、数字(0-9)和连接符(-)组成,各级域名之间用实点(.)连接,三级域名长度不得超过20个字符; 三、不得使用,或限制使用以下名称(下表列出了一些注册此类域名时需要提供的材料): 1)注册含有“china”、“chinese”、“cn”、“national”等经国家有关部门(指部级以上单位)正式批准 2)公众知晓的其他国家或者地区名称、外国地名、国际组织名称不得使用 3)县级以上(含县级)行政区划名称的全称或者缩写相关县级以上(含县级)人民*正式批准 4)行业名称或者商品的通用名称不得使用 5)他人已在中国注册过的企业名称或者商标名称不得使用 6)对国家、社会或者公共利益有损害的名称不得使用 7)经国家有关部门(指部级以上单位)正式批准和相关县级以上(含县级)人民*正式批准是指,相关机构要出据书面文件表示同意xxxx单位注册xxx域名。如:要申请beijing.com.cn域名,则要提供北京市人民*的批文。 注:域名带下划线的时候IE下不发送cookie头为含有MS01-055补丁IE 5.5/6.0 的版本会自动拒绝来自某些不合法的域名或服务器名称(指含有除英文字母及连接符“-”和句点“.”之外的其他字符,比如下划线“_”等),如果当初用xxx-admin就不会出问题!