- 浏览: 21557623 次
- 性别:
- 来自: 杭州
最新评论
-
ZY199266:
配置文件还需要额外的配置ma
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程 -
ZY199266:
我的一访问为什么是 /mavenwebdemo/WEB-I ...
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程 -
lvgaga:
我又一个问题就是 如果像你的这种形式写。配置文件还需要额外的 ...
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程 -
lvgaga:
我的一访问为什么是 /mavenwebdemo/WEB-I ...
Android 客户端通过内置API(HttpClient) 访问 服务器(用Spring MVC 架构) 返回的json数据全过程 -
y1210251848:
你的那个错误应该是项目所使用的目标框架不支持吧
log4net配置(web中使用log4net,把web.config放在单独的文件中)
xmlhttp存在最大并发数,ajax设计应有所斟酌[zz]
<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
这次认真的测试了三种浏览器(ie/firefox/opera)的xmlhttp并发行为,发现如果用户同时发出很多xmlhttp异步请求,那么浏览器不是一股脑全把请求发出去,而是存在一个最大并发数。我的机器测试发现,ie和ff里面是2,opera是4。
所以说,在设计一个站点时,让ajax页面同时载入数十个xmlhttp请求不是明智的做法。在考虑减少接口耦合的同时,也应该斟酌速度问题。实际上,可以使用某些细化的设计,可以把多种请求绑定到一起发送,从而达到优化的目的。
下面是我的测试代码:
<?php //服务端ajaxserver.php<br />
function_getmicrotime()
{
list($usec,$sec)=explode("",microtime());
return((float)$usec+(float)$sec);
}
function_exit($msg)
{
echo("$msg/n");
exit();
}
$mode=$_GET["mode"];
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$begin=_getmicrotime();
$str="$begin/t".$_GET["flag"]."/tbegin/n";
fwrite($f,"$str");
fclose($f);
echo($str);
sleep(2);
$f=fopen("$mode.log","a+");
if(!$f)_exit();
$end=_getmicrotime();
$str="$end/t".$_GET["flag"]."/tend/n";
fwrite($f,"$str");
fclose($f);
echo($str);
?>
//这是.html网页代码:
htmlpublic"-//W3C//DTDHTML4.0Transitional//EN">
NewDocument
<script><br /><!--<br />function$(id)<br />{<br />returndocument.getElementById(id);<br />}<br />functionajax_object(){<br /><br />varA;<br />try{<br />A=newActiveXObject("Msxml2.XMLHTTP");<br />}catch(e){<br />try{<br />A=newActiveXObject("Microsoft.XMLHTTP");<br />}catch(oc){<br />A=null;<br />}<br />}<br />if(!A&&typeofXMLHttpRequest!="undefined")<br />A=newXMLHttpRequest();<br /><br />returnA;<br />}<br /><br />functiondoit(flag)<br />{<br />varuri="ajaxserver.php?mode=opera&flag="+flag;<br />varx=ajax_object();<br /><br />x.open("GET",uri,true);<br />functioncallback()<br />{<br />if(x.readyState!=4)<br />return;<br />if(x.status==200)<br />{<br />$("result").value+=x.responseText;<br />}<br />}<br />if("[XMLHttpRequest]"==x.constructor)<br />{<br />x.onload=callback;<br />}<br />else<br />{<br />x.onreadystatechange=callback;<br />}<br />x.send(null);<br />}<br /><br />functiondoajax()<br />{<br />doit(1);<br />doit(2);<br />doit(3);<br />doit(4);<br />doit(5);<br />}<br /><br /><br /><br />//--><br /></script>
************************************************
下面是测试结果:
IE的测试结果:
1157288179.032begin
1157288179.031begin
1157288181.031end
1157288181.042end
1157288181.053begin
1157288181.064begin
1157288183.053end
1157288183.065begin
1157288183.094end
1157288185.095end
firefox的测试结果
1157288092.361begin
1157288092.382begin
1157288094.361end
1157288094.382end
1157288094.393begin
1157288094.394begin
1157288096.44end
1157288096.423end
1157288096.425begin
1157288098.435end
opera的测试结果:
1157288410.881begin
1157288410.894begin
1157288410.892begin
1157288410.893begin
1157288412.891end
1157288412.892end
1157288412.925begin
1157288412.924end
1157288412.925begin
1157288412.923end
1157288414.935end
1157288414.955end
cited: http://sithere.net/article.asp?id=729&page=3
相关推荐
手写ajax的xmlhttp协议,创建ajax
xmlHttp对象 手动AjaxxmlHttp对象 手动AjaxxmlHttp对象 手动Ajax
ajax的xmlhttp的帮助手册,这是一本基础性的帮助手册。对于初学者和入门者是一本不错的书籍。
XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML...
alexa_Xmlhttp_Ajax
XmlHttp手册XmlHttp手册XmlHttp手册XmlHttp手册XmlHttp手册
• 原书名: Professional Ajax, 2nd Edition • 原出版社: Wrox • 作者: (美)Nicholas C. Zakas Jeremy McPeak Joe Fawcett [作译者介绍] • 译者: 徐锋;吴兰陟[同译者作品] • 丛书名: 图灵程序设计丛书....
ajax之xmlhttp对象帮助文档
ajax和XMLHTTP的一些原理,挺好,都看看吧!
XMLHttp 手册 中文版 多 HTML 文件结构,浏览方便 只要有浏览器就行了 Ajax技术
ajax 二级下拉框ajax 实现二级下拉框,地址联动,xmlHttp,serverlet,java,ajax 实现二级下拉框,地址联动,xmlHttp,serverlet,java,
Ajax返回状态和XmlHttp对象参考手册
xmlhttp中文帮助文档 Xmlhttp是一种浏览器对象, 可用于模拟http的GET和POST请求。配合JavaScript可以实现页面数据在无刷新下的定时数据更新,如果应用在聊天室、文字直播上可以取得较好的视觉效果。 使用范例: ...
XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。 来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML...
介绍xmlhttp比较的详细
asp做的AJAX查询系统.发你们咯~ 接好
ajax技术中承载数据传输任务的xmlhttprequest介绍及其相关api
ajax必备xmlHttp详解
XmlHttp最大的用处是可以更新网页的部分内容而不需要刷新整个页面。 来自MSDN的解释:XmlHttp提供客户端同http服务器通讯的协议。客户端可以通过XmlHttp对象(MSXML2.XMLHTTP.3.0)向http服务器发送请求并使用微软XML...
AJAX中的关键部分-xmlhttp对象的参考手册,有详细的介绍,不使用框架开发AJAX应用的好帮手