为了做ajax的代理,研究了下服务器端的xmlhttp和客户端ajax中的xmlhttp,做了个比较


由于我一直使用JavaScript作为Asp的教本语言,所以比较起来更清楚。
服务器端的xmlhttp经常用于asp小偷程序,

1.在服务器端的xmlhttp.Open("GET",url,false)异步必须是关闭的,而客户端的异步是打开的
因为服务器返回的代码要求一次性完成,若把异步打开 不等数据没有抓举完毕就返回给客户端了

2.在服务器端的xmlhttp.Responsebody 这里用的是Responsebody而不是ResponseText或ResponseXml,一开始我是用ResponseText,但在函数bytesToBSTR转换编码的时候提示错误,经过比较发现其他的asp小偷程序里的代码都是Responsebody.分析后,发现Responsebody ResponseText ResponseXML的差别如下

ResponseText 返回数据为字符性文本数据 数据源为任何文本性数据
ResponseXML 返回数据为DOM对象,可以用JS通过DOM进行加工控制的,单源数据必须是XML
Responsebody 返回的是二进制数据,可以通过Adodb.Stream进行加工控制,数据源可以为任何数据

04-14 21:39