You can isolate server applications, meaning they will be run in a process separate from the Web server process in order to avoid affecting the running of the server should that application fail. Isolating an application can also be described as running it in a separate memory space. Generally, it is a good idea to isolate applications, although slightly more memory is used, the server will be less likely to fail if an application fails.

Basic Process

With Windows NT Server and IIS, setting up remote administration for customers is easy. You just provide each client with a Windows NT user account and a browser that supports JavaScript and frames and set up a Windows NT account for each customer. You then set permissions on the appropriate virtual servers and directories so clients can make changes only to their own websites.

Because you grant each client permissions for its respective virtual server only, other sites on your computer will be unaffected by any changes or any mistakes that anyone customer makes. If a customer wants to run dynamic Web Pages that makes use of Microsoft Active X scripting or ISAPI based programs, you can enable the IIS process isolation feature on those applications. It would isolate the scripts or programs so that they cannot affect the other Web sites hosted on the server computer, thus providing “crash protection” for your server.


HTTP and FTP run from within the same process, therefore they can share cached data such as file handles, account information and log file data for logging to text files.


Logging tracks which users access the site. Tracking users help to identify security and performance issues. Logging can direct to either a log file that can be processed off a line and offers faster performance or to an Open Database Connectivity (ODBC) data source name (DSN) for dynamic evaluation.


A thread is a unit of execution. It is the actual component of a process that runs at one time. A thread runs in the address space of the process, using resources allocated to the process. A thread pool is a group of threads used within the process for a particular operation.

Using threads in a thread pool is the fast method of creating additional execution states. While a full-fledged process has both separate address space, register set, and implementation point, a thread has a different register set and implementation point but shares the address space. For this reason, using threads is faster and more efficient than spawning child processes to handle tasks for the Web Server.
A thread contains:

  • A stack for use when running in user mode
  • A stack for use when running in Kernel mode
  • A processor state including the current instruction pointer (register)

Connection: A transport layer virtual circuit established between two applications.

Programs: The tools used for communication.

Message: The basic unit of HTTP communication, consisting of a structured sequence of octets and transmitted through the connection.

Request: An HTTP request message.

Response: An HTTP response message.

Resource: A network data object or service which can be identified by a URL entity.


The metabase is a structure for storing configuration settings. It performs some fo the same functions as the system registry but uses less disk space.

You can modify the metabase by configuring values using Internet Service Manager, the IIS Admin Objects user interface, which conforms to the Microsoft Active Directory Service Interface. You can also modify the metabase using the IIS Admin Base Object, which is implemented through DCOM.

Just like editing the registry, configuring properties in the metabase incorrectly can cause problems. If you make mistakes, your website or FTP site's configuration damaged, including the failure of a Web site or FTP site. You should edit metabase properties only for settings that you cannot adjust in the user interface and be very careful whenever you edit the metabase directly.