[This is preliminary documentation and subject to change]

What's Changed

This topic describes important differences in default behavior and settings between IIS 4.0, IIS 5.0, IIS 5.1, and IIS 6.0.

The following table summarizes the important differences between versions of IIS.

 IIS 4.0IIS 5.0IIS 5.1IIS 6.0
 PlatformNT4Windows 2000Windows XP ProfessionalWindows Whistler Servers
Architecture32-bit32-bit32-bit32- and 64-bit
Application process modelTCP/IP kernel, Dll HostTCP/IP kernel, Dll HostTCP/IP kernel, multiple Dll HostsHttp.sys kernel, multiple worker processes
Metabase configurationBinaryBinaryBinaryXML
SecurityWindows authenticationWindows authentication

Kerberos

SSL

Windows authentication

Kerberos

SSL

Security wizard

 
Windows authentication

Kerberos

SSL

Security wizard

Passport support
Remote administrationNot supportedHTMLANo HTMLA

Terminal services

No HTMLA

Terminal services

Cluster supportNoneIIS clusteringWindows supportWindows support
Web servicesIIS on NT 4.0Personal Web Manager on Windows 9x

IIS on Windows 2000

IIS optionally on Windows XP Professional

IIS on Windows 2000

IIS on Windows Whistler Servers
     
     

For information about new features in IIS 6.0, see Features.

Core Functionality and Services

Metabase Configuration

Administration

Programmatic Administration

Active Server Pages (ASP)

Registry

Security

Performance

Core Functionality and Services

IIS 6.0 Functionality and Services

IIS has been redesigned to take advantage of the base Windows kernel, Http.sys. This allows for built-in response and request caching and queueing, and the ability to route application process requests directly to the worker processes, improving reliability and performance.

IIS 6.0 introduces two modes of operation in order to configure your application environments: standard application mode and dedicated application mode.

Standard Application Mode

Standard application mode manages application processes similar to the process management in IIS 5.0: all in-proc processes run inside inetinfo, and out-of-proc applications run in separate DLL Hosts. Some existing applications may not have been written to run concurrently, or store state separately from the applicaiton. Therefore, running processes in standard application mode ensures compatability for most existing applications. The following illustration shows how application processes are handled in standard application mode.

Standard application mode.

Dedicated Application Mode

When configured to execute in dedicated application mode, all application code runs in an isolated environment. This design removes some of the existing bottlenecks and points of contention. Dedicated application mode allows the administrator to isolate anything from an individual Web application to multiple sites in their own self-contained Web service process. This prevents one application or site from stopping another. In addition, separating applications or sites into their own process space simplifies a number of management tasks, such as restarts (independent of all other sites or applications running on the system), changing a component used by the application, debugging, monitoring counters, throttling resources, and so forth. The following illustration shows how applications are managed by IIS in dedicated application mode.

Dedicated application mode.

HTTP requests are routed to the correct application pool queue: user mode worker-processes serving a pool pull the requests directly from the kernel and eliminate the unnecessary process hops encountered when sending a request to an out-of-process DLLhost. In IIS 6.0, there is no longer the notion of in-process applications; all necessary HTTP application runtime services, such as ISAPI extension support, are equally available in any application pool. This design prevents a malfunctioning HTTP application or Web site from disrupting other HTTP applications (or other Web sites) served from other processes on that computer. Unloading components become easier, because with isolated application processes, the process can, if necessary, be terminated to unload all resources, without affect on other content or applications being served from other processes. There is also benefit from being able to leverage other operating system services available at the process level (for example CPU throttling), per application pool.

Furthermore, critical portions of dedicated application mode that maintain the overall functioning of Web services run entirely outside of the worker processes. The IIS 6.0 kernel mode driver, Http.sys, which is the universal HTTP processor for Windows, and the IIS 6.0 Web administration service (WAS) isolate the critical portions of the core Web server. Both of these components are protected and do not allow third-party code to be loaded into them. This design prevents a malfunctioning HTTP application from disrupting Web services on the server.

Metabase Configuration

The metabase for IIS 6.0 is stored in an XML file instead of binary format in past versions. The location remains the same, but the ways it can be manipulated - updated, rolled back, restored, extended - have changed. There are two significant files instead of one: Metabase.xml and MBSchema.xml.

Administration

Programmatic Administration

See Metabase Changes for IIS 6.0.

Active Server Pages (ASP)

See Important Changes in ASP.

Security

Performance

To limit the amount of memory allocated to ASP pages, IIS has set the default value of AspScriptFileCacheSize to 250 ASP pages, and the default value of AspScriptEngineCacheMax to 125 script engines. The ASPScriptFileCacheSize can be set higher on sites with a large set of frequently requested ASP pages. This improves performance because ASP page compriation is substantially slower than retrieving pages from cache. On a site with only a small number of frequently requested ASP pages, memory can be saved by setting this number to a smaller value.


© 1997-2001 Microsoft Corporation. All rights reserved.