说实话,这种切换方式,我真的没有考虑过。所以感到特别有新意。。。
原文:http://xinsync.xju.edu.cn/index.php/archives/5013
内容:
网站打开的速度快是相当重要的,不管你是用的什么网络,都打开的很快。我们且不谈论所做产品的初期发展用户人群因为这没有多大意义,如果你定位为学生,那么根据我们自身大学四年的经验,同学中间用电信、校园网的比例基本上变数太大。
值 得庆幸的是,现在我们已经实现电信、网通双线北网通、南电信是我们国家的一个特色。更甚至07年春节爆出电信与网通内部协议,内容大概是南北互不侵犯各自 的领域。因此,如果要立足做一个成功的互联网产品,必须不要管用户来自于哪里,用的什么网络环境。这最后的解决方案就是电信、网通双线。还有个间隙–校 园网,比较好的是校园网跟网通有很宽的光纤直连,物理环境可以用米来解决。
技术处理
<img src=”http://www.xinsync.com/notexist” width=”1″ height=”1″ onerror=”javascript:top.location=’http://www.xinsync.com’”>
<img src=”http://cnc.xinsync.com/notexist” width=”1″ height=”1″ onerror=”javascript:top.location=’http://cnc.xinsync.com’”>
这是电信、网通自动选择的核心代码,天哪,太神奇了,竟然是js实现的。
解 释: src里边放的是一个不存在的地址,这样2个img打开的时候都会出错,都会触发onerror事件,但是你的浏览器对这2个img加载、判断出错有个先 后顺序,而这个先后顺序取决于你的浏览器去连2个url的快慢程度,这就表现为http请求两个域名的快慢。
假如你是校园网或者网通,同时去连 www.xinsync.com(这个域名是绑定到电信的一个ip)、cnc.xinsync.com(这个域名是绑定到网通的一个ip)
当然就会先触发onerror=”javascript:top.location=’http://cnc.xinsync.com’”
这样就打开了http://cnc.xinsync.com
电信同理,最后就实现了校园网、网通用户打开的是http://www.xinsync.com/notexist,电信用户打开的是http://www.xinsync.com/notexist