IIS 7 Native Code Modules

HTTP Modules
The following modules provide HTTP-specific tasks related to client–server interaction.

HttpRedirectionModule. Supports configurable redirection for HTTP requests to a local resource.

ProtocolSupportModule. Performs protocol-related actions (such as setting response headers and redirecting headers), implements the Trace and Options HTTP verbs, and manages keep-alive support via configuration controls.


Security Modules
The following lists the modules that perform security-related functions. A separate module exists for each authentication mechanism, allowing you to select which authentication mechanisms are supported on your server and to remove those that you don’t need.

Note that you must install at least one authentication module. Without at least one authentication module, IIS cannot determine whether the request is authorized to access the relevant system resources. IIS checks for a valid user object after the authentication phase and returns a 401.2 error if it doesn’t find one.

AnonymousAuthentication Module. Performs Anonymous authentication when no other authentication method succeeds, or if no other authentication module is present. Typically, this module would be removed for an intranet or secured membership application.

BasicAuthenticationModule. Performs Basic authentication as described in RFC 2617.

DigestAuthentication Module. Performs Digest authentication as described in RFC 2617. The IIS host must be part of an Active Directory domain.

IISCertificateMapping AuthenticationModule. Maps SSL client certificates to a Windows account. SSL must be enabled with the requirement to receive client certificates for this module to work.

CertificateMapping AuthenticationModule. Similar to the previous module, but performs Certificate Mapping authentication using Active Directory. SSL must be configured for this module to work, and the IIS host must be a member of an Active Directory domain. Caution: Requests may be allowed if Active Directory Certificate Mapping is configured to protect a directory but the module is removed!

RequestFilteringModule. Performs URLScan tasks such as configuring allowed verbs and file extensions, setting limits, and scanning for bad character sequences. This module is the successor of the ISAPI filter UrlScan.DLL that shipped with IIS 5.0 and 6.0.

UrlAuthorizationModule. Performs URL authorization based on configuration rules.

WindowsAuthentication Module. Performs Windows authentication (NTLM or Kerberos).

IpRestrictionModule. Restricts access to IPv4 clients based on a list of addresses in the IISconfiguration.


Content Modules
The following modules provide functionality related to static web-site content, such as images and plain HTML:

DefaultDocumentModule. Displays a default document from a list of default files in the configuration when no explicit document has been identified in the request. If a matching default document is not found, a 404 result will be returned.

DirectoryListingModule. Lists the contents of a directory if no file is explicitly requested—for example, when the request is something like http://www.server1.com/path/ or just http://www.server1.com. Note that if the DefaultDocumentModule is installed, a default document match will be attempted first. If this module is not installed, and either the default document module is not installed or there is no matching default document found, a 404 (not found) error will result.

ServerSideIncludeModule. Implements server-side includes for those requests ending in .stm, .shtm, or .shtml.

StaticFileModule Delivers static file content such as plain HTML and images. The list of file extensions supported is determined by the staticContent/mimeMap configuration collection.If this module is not present, requests for static content return an HTTP 200 (OK) response, but the entity body (page) will be blank.


Compression Modules
The following two modules perform gzip compression in the request-processing pipeline. Most modern web browsers and search engine indexers support this compression technique.

DynamicCompressionModule. Applies gzip compression to outbound responses produced by applications.

StaticCompressionModule. Performs gzip compression of static content in memory as well as persistent in the file system.


Caching Modules
The following modules manage caching of responses to requests. Note that for user mode caching, the cache resources are defined under the user account mapped to the request, whereas the kernel mode cache is handled by the Http.sys identity.

FileCacheModule. Provides user mode caching for files and handles on files opened by the server engine and modules, reducing file access overheads and improving request delivery times.

HTTPCacheModule. Provides kernel mode and user mode caching in Http.sys and manages the output cache, including cache size and cache profiles as defined via configuration controls.

TokenCacheModule. Caches Windows security tokens for password-based authentication schemes (Anonymous, Basic, IIS client certificate). For example, a password-protected
HTML page that references 50 images that are also protected would normally result in 51 logon calls to the local account database, or, even worse, to an offbox domain controller. Using the TokenCacheModule, only one logon event is called and the result is cached, with the remaining reference requests authorized through that cached authentication token.

UriCacheModule. Provides user mode caching of URL information, such as configuration settings. With this module, the server will read configuration data only for the first request for a particular URL, and reuse it on subsequent requests until it changes.


Logging and Diagnostics Modules
The following modules provide support for functions related to web-site and web application diagnostics and logging. Logging includes ordinary web request logs, as well as application execution logging during run time or failure.

CustomLoggingModule. Provided for legacy support of custom logging modules such as ODBC support. This module also supports the ILogPlugin COM interface, but you should use the new Http Module API for any new development.

FailedRequestsTracing Module. Implements tracing of failed requests, taking definition and rules for failed requests via configuration.

HttpLoggingModule. Implements the standard web-site logging functions by Http.sys.

RequestMonitorModule. Implements the IIS 7.0 Runtime State and Control Interface \ (RSCA). RSCA allows its consumers to query for runtime information like currently executing request, start/stop state of a web site, or currently executing application domains.

TracingModule. Reports events to Microsoft Event Tracing for Windows (ETW).

CustomErrorModule. Sends rich HTML content to the client on server error, and allows you to customize that default content. Without this module, IIS will send blank pages with minimal information on any server error, including 404.

ConfigurationValidation Module. Validates configuration issues, such as when an application is running in Integrated mode but has handlers or modules declared in the system.web section, and displays relevant error information if a problem is detected.


Extensibility Support Modules
The following modules support extending the web server platform to produce dynamic content and special functionality:

IsapiModule. Implements functionality for ISAPI Extensions mapped in the section (modules=”IsapiModule”) or called by a specific URL request to the dll.

IsapiFilterModule. Implements ISAPI filter functionality, such as legacy mode ASP.NET or SharePoint.

ManagedEngine Provides integration of managed code modules in the IIS request-processing pipeline. If this module is not installed, then managed code modules will not work, even if they are installed.

CgiModule. Implements the Common Gateway Interface (CGI) to allow the execution of external programs like Perl, PHP, and console programs to build response output.

FastCgiModule. Supports FastCGI, which provides a high-performance alternative to CGI.

Source of Information : Wrox Professional IIS 7

0 comments


Subscribe to Developer Techno ?
Enter your email address:

Delivered by FeedBurner