Eddy 发布于2011-3-25 21:20:3 分类: 程序设计 已浏览loading 网友评论1条 我要评论



XMLHTTP 为客户端应用程序而设计,并依赖于基于 Microsoft Win32 Internet (WinInet) 而构建的 URLMon。ServerXMLHTTP 为服务器应用程序而设计,并依赖于新的 HTTP 客户端堆栈 WinHTTP。ServerXMLHTTP 提供了可靠性和安全性,并且是服务器安全的。


1 Works on Windows 98, 95 and ME Requires at least Windows NT 4 with IE5.01 .
2 Does not have a means of waiting for an async call other than using another thread to handle the response via onreadystatechange.

Another technique is to loop on the main thread, polling the readystate property.
For example:
While xmlhttp.readystate <> 4
' async request not complete yet; still waiting

But this is not as efficient as the ServerXMLHTTP's WaitForResponse method

Has a waitForResponse method with a timeout when using async calls.
3   Allows configuring timeouts when sending messages.
4 Is designed for single-user, desktop applications, such as running in a browser-based app.

XMLHTTP's assumption that it is used only in single-user environments has security implications.

Do not use XMLHTTP in multi-user scenarios such as on IIS/ASP servers.

Also, in various cases, XMLHTTP may display UI dialogs (to collect credentials).

Supports multi-user, server-based applications, such as ASP apps.

Because XMLHTTP is designed for single-user client applications and is based on WinInet, it enforces strict limits on the number of simultaneous connections to a given server.

The limit is either 2 or 4 (depending on HTTP version).

The ServerXMLHTTP component does not impose any limits on the number of connections to a server.
6 XMLHTTP integrates with the IE browser's cache, which may cause problems in which "stale" response data is returned.

ServerXMLHTTP does not implement a cache.

7 XMLHTTP is HTTP/1.1 compliant.

XMLHTTP does support HTTP/1.1 chunking.

ServerXMLHTTP reports itself as an HTTP/1.0 client.
The reason is that ServerXMLHTTP does not support the HTTP/1.1 response "chunking" feature, which is required for 1.1 compliance.
8 By using the IE browser's proxy settings, XMLHTTP can take advantage of IE's auto-detection of proxy servers.

If IE is configured to access sites via a proxy server, then all requests made via XMLHTTP will also go through the proxy.

However, IE (and thus XMLHTTP) can be configured to bypass the proxy server for certain sites (assuming that a direct connection to the target server can be made).

This is done in the "Tools/Internet Options/Connections/LAN Settings" dialog in IE.

The "Bypass proxy server for local addresses" option should be checked to have the proxy server bypassed for intranet sites.

ServerXMLHTTP does not support any auto-detection or discovery of proxy servers; you must explicitly specify the name of the proxy server using the proxycfg.exe utility.
Can be configured with WinHTTP proxy config to access other machines directly (no proxy server).
9 The XMLHTTP component in MSXML 3.0 supports automatic gzip decompression; ServerXMLHTTP does not.
10   ServerXMLHTTP in MSXML 3.0 SP1 supports SSL certificates.
11 重用Socket端口,或者有Socket端口缓存. 没有缓存,每次连接都会启用一个新的Socket端口.




原创文章如转载,请注明:转载自Eddy Blog
原文地址:     欢迎订阅Eddy Blog

记住我的信息,下次不用再输入 欢迎给Eddy Blog留言