IIS Core Server and Modules

Unlike previous versions, with core server implementations that were successively larger and more complex, IIS 7.0 provides a sleek core server system cut down to the bare bones of a high-performance and robust processing engine. The basic functionality is broken into three basic components that act as the foundation of arguably the most innovative and flexible web server system ever released:

• Http.sys — The HTTP Listener does nothing more than listen on port 80 for inbound web requests and then pass those requests to the IIS 7.0 core.

• svchost.exe — The WWW Publishing Service provides the basic web server functions of identifying the specific web-site destination and managing resources and execution of the relevant worker process(es) used to handle the request.

• w3wp.exe — One or more worker processes that handle all the remaining request processing.

At first glance, the IIS 7.0 core server appears similar to previous versions. IIS 6.0 introduced the concept of independent worker processes to isolate independent applications running on the same physical server and thereby prevent a failure in one application from affecting any other.

If you are familiar with the structure of IIS 6.0, you may recognize the same basic structure of HTTP Listener, WWW Publishing Service, and application pool; but the major difference in IIS 7.0 lies in the implementation of the worker processes. Although IIS 7.0 also executes each request inside independent application pools, the way these processes handle the request is an entirely new approach.

The application pool process itself can now be considered as a simple workflow or processing pipeline. Each stage in the request life cycle is referred to as an event, and modules provide the relevant functionality for the event processing. For example, when the worker process reaches the authenticateRequest event stage, it will hand off processing to any active module providing that function.

HTTP Modules
Out of the box, IIS 7.0 ships with more than 40 individual modules. The default installation activates many of these, which, as you will discover below in this chapter, are not all required. In fact, you can obtain a perfectly functional web server using only a handful of the default modules. To understand how the core server works, it is useful to take a closer look at each of modules that ship with IIS 7.0. There are two basic categories:

• Native Code Modules — Generally, a binary .dll file, developed using languages such as VB and C++.

• Managed Code Modules — Developed using scripted and runtime interpreted languages, including C# and ASP.NET.

Source of Information : Wrox Professional IIS 7


Subscribe to Developer Techno ?
Enter your email address:

Delivered by FeedBurner