Datasheet
application pool, providing stability across the server’s sites. In addition, worker processes could be
assigned a processor affinity, allowing multiprocessor systems to split the workload.
Additional Features
As did its predecessors, IIS 6.0 included additional features and functionality. Some internal features,
such as HTTP compression and kernel mode caching, increased performance of the web server and
applications served from it. Other features affected configuration, such as the move to an XML metabase,
or stability, such as being able to configure individual application pools and isolate potential application
failures. Still others added or expanded utility and ancillary functions, such as the improved FTP serv-
ices or the addition of POP services to the existing SMTP service.
HTTP Compression
IIS 6.0 extended HTTP compression over the minimal compression allowed in previous versions. The
HTTP 1.1 specification includes HTTP compression, and IIS 6.0 supported it for both static and dynamic
content. Available in IIS 5.0 as an ISAPI add-on for the entire site, HTTP compression in IIS 6.0 became
an integrated feature granularly controllable down to the specific file.
Kernel Mode and Persistent Caching
IIS 6.0 added a kernel mode cache to increase performance for dynamic content. In previous versions,
static content was cached and served from cache whenever possible, but in IIS 6.0 caching was expanded
to include dynamic content. In addition, whereas ASP templates were formerly cached in memory when
allocated, IIS 6.0 added a persistent cache so that de-allocated templates were written to disk for future
reallocation, as needed. Caching heuristics were also used to determine what to cache and when.
XML Metabase
The metabase, where IIS configuration settings are stored, was a binary file prior to IIS 6.0. Changed to
an XML file, the metabase in IIS 6.0 could be edited while the site was active, and, although many func-
tions wouldn’t change until IIS was recycled, changes were in plain text. The XML metabase in IIS 6.0
was unstructured and not well documented though, and several functions still resided in registry set-
tings, all of which gets changed in IIS 7.0.
Application Pools
IIS 6.0 changed the way applications behaved in memory, isolating applications into memory pools.
Administrators could configure separate memory pools for separate applications, thus preventing a
faulty application from crashing other applications outside its memory pool. This is particularly impor-
tant in any shared web server environment, especially with ASP.NET applications.
FTP Service
The FTP service grew up in IIS 6.0, providing for greater security and separation of accounts through a
new isolation mode using either Active Directory or local Windows accounts. Using Windows accounts
or Active Directory accounts, users could be restricted to their own available FTP locations without
resorting to naming the home directories the same as the FTP accounts. In addition, users were pre-
vented from traversing above their home directories and seeing what other accounts may exist on the
server. Even without NTFS permissions to the content, security in FTP before IIS 6.0 was still compro-
mised because a user could discover other valid user accounts on the system.
6
Part 1: Introduction and Deployment
97823c01.qxd:WroxPro 2/4/08 6:47 PM Page 6