使用正确版本的XMLHTTP

标签: , , , ,

说起XMLHTTP,相信你一定不会陌生,当前大红大紫的AJAX技术的核心所在。我在这里不讨论AJAX,也不讨论JavaScript,而是讨论VBScript。

我枚举了一下,在我的系统(Windows7)中,以下ProgID都可以创建XMLHTTP对象:

Microsoft.XMLHTTP
Microsoft.XMLHTTP.1.0
Msxml2.ServerXMLHTTP
Msxml2.ServerXMLHTTP.3.0
Msxml2.ServerXMLHTTP.4.0
Msxml2.ServerXMLHTTP.5.0
Msxml2.ServerXMLHTTP.6.0
Msxml2.XMLHTTP
Msxml2.XMLHTTP.3.0
Msxml2.XMLHTTP.4.0
Msxml2.XMLHTTP.5.0
Msxml2.XMLHTTP.6.0

不同的版本有什么区别呢?Google告诉你答案:

Using the right version of MSXML in Internet Explorer

这是MSDN博客上的一篇文章,太长了我就不翻译了。大概是说,如果系统安装了(Vista以上自带),最好使用MSXML 6.0;如果系统上没有6.0,则应该使用MSXML 3.0(Win2k以上自带);不推荐使用的4.0、5.0版本。还有就是Microsoft.XMLHTTP已经很老了,也不推荐使用。

有关ServerXMLHTTP 的常见问题

微软帮助和支持上的一篇文章,简单的摘录一下:

XMLHTTP 和ServerXMLHTTP之间的区别是什么?

XMLHTTP为客户端应用程序而设计,并依赖于基于Microsoft Win32 Internet (WinInet) 而构建的URLMon。ServerXMLHTTP为服务器应用程序而设计,并依赖于新的HTTP客户端堆栈WinHTTP。ServerXMLHTTP提供了可靠性和安全性,并且是服务器安全的。有关更多信息,请参见MSXML 软件开发工具包(SDK)文档。

如何在XMLHTTP 和ServerXMLHTTP 之间做出选择?

正如其名称所示,ServerXMLHTTP推荐用于服务器应用程序,而XMLHTTP推荐用于客户端应用程序。XMLHTTP具有一些优点,如支持缓存和自动发现代理。它可以在Windows 95和Windows 98平台上使用,并且非常适合单用户桌面应用程序。

此外,还可以参考一下这篇文章:

MSXML2家族探秘

总结一下,在大部分情况下,这样创建XMLHTP就可以了:

Set http = CreateObject("Msxml2.XMLHTTP")

Msxml2.XMLHTTP会自动映射到Msxml2.XMLHTTP.3.0。

ServerXMLHTTP提供了比XMLHTTP更加强大的功能,至于强大在哪,请听下回分解。

随机文章:

  1. Audio Speed Changer Pro v1.5注册码
  2. WMI入门教程:第二部分
  3. 批处理技术内幕:随机数%RANDOM%
  4. VBS转EXE工具:VbsEdit
  5. Windows下编译cURL

留下回复