Microsoft Internet Security and Acceleration Server 2000 |
The ISA Web proxy service supports the Web (ISAPI) filter extensibility model, allowing third-party developers to examine and change the HTTP request-and-response flow by using Web filters. ISAPI extensions are not supported.
The ISA Web proxy service manages communication with clients, and therefore does not rely on IIS. The ISA Web proxy service provides the functions necessary for the implementation of Web filters. Web filters developed for IIS will work with the ISA Web proxy service because the APIs are unchanged.
There are several important differences between ISAPI support in IIS and in ISA.
Web (ISAPI) filters for IIS are typically installed on a Web server. Web filters for ISA are installed on an ISA server, between the Web server and the Web client, and therefore act as conduits for requests to all external and internal sites. There is therefore no local site or content, and no direct access to Web server files.
The support for general ISAPI functions, server support functions, and notification-specific functions in ISA differs slightly from IIS. The following table compares support for ISAPI functions in IIS and in ISA Server.
Function | Task | ISA Server Support | IIS Support |
---|---|---|---|
GetServerVariable | Yes. Not all variables are supported | Yes. | |
AddResponseHeaders | Yes. | Yes. | |
WriteClient | Yes. | Yes. | |
AllocMem | Yes. | Yes. | |
ServerSupportFunction | SF_REQ_ADD_HEADERS_ON_DENIAL | Yes. | Yes. |
SF_REQ_DISABLE_NOTIFICATIONS | Yes. | Yes. | |
SF_REQ_GET_CONNID | Returns 0 | Supported by versions until IIS 4.0; otherwise, returns 0 | |
SF_REQ_GET_PROPERTY
only for SF_PROPERTY_INSTANCE_NUM_ID |
Returns 0 | Yes. | |
SF_REQ_NORMALIZE_URL | Yes. | Yes. | |
SF_REQ_SEND_RESPONSE_HEADER | Yes. | Yes. | |
SF_REQ_SET_NEXT_READ_SIZE | Yes. | Yes. | |
SF_REQ_SET_PROXY_INFO | No. | Yes. | |
SF_NOTIFY_SEND_RESPONSE | Not used when the Web proxy sends a response. Used when a filter generates a response using the SF_REQ_SEND_RESPONSE_HEADERS server support function. | Yes. | |
SF_STATUS_REQ_FINISHED_KEEP_CONN | Treated the same as SF_STATUS_REQ_FINISHED. After this notification is received, the connection is closed. | Treated the same as SF_STATUS_REQ_FINISHED, except that the server should keep the TCP session open if the option was negotiated. |
Administration, setup, and registration are significantly different in ISA. For specific information and procedures see Web Filter Setup and Registration.
IIS stores configuration information in the Microsoft Active Directory™, whereas the ISA Web proxy service uses the ISA administration COM objects to store and retrieve filter configuration information.
Note Web filters developed for Microsoft Proxy Server 2.0 are not binary-compatible with ISA because of new notifications, setup requirements, and storage functionality.