Wednesday, June 30, 2010

HTTP Request Processing in IIS 7

IIS 7 has a similar HTTP request-processing flow as IIS 6.0. The diagrams in this section provide an overview of an HTTP request in process.

The following list describes the request-processing flow that is shown in Figure 1:

1.    When a client browser initiates an HTTP request for a resource on the Web server, HTTP.sys
        intercepts   the request.
2.    HTTP.sys contacts WAS to obtain information from the configuration store.
3.    WAS requests configuration information from the configuration store, applicationHost.config.
4.    WWW Service receives configuration information, such as application pool and site configuration.
5.    WWW Service uses the configuration information to configure HTTP.sys.
6.    WAS starts a worker process for the application pool to which the request was made.
7.    The worker process processes the request and returns a response to HTTP.sys.
8.    The client receives a response.

In a worker process, an HTTP request passes through several ordered steps, called events, in the Web Server Core. At each event, a native module processes part of the request, such as authenticating the user or adding information to the event log. If a request requires a managed module, the native ManagedEngine module creates an AppDomain, where the managed module can perform the necessary processing, such as authenticating a user with Forms authentication. When the request passes through all of the events in the Web Server Core, the response is returned to HTTP.sys. Figure 2, below, shows an HTTP request entering the worker process.

1 comments:

Punith said...

Thanks Sunil, Realy gave me a Very Good understanding abt how IIS 7 process the request.

Post a Comment