IIS Core Functionality

IIS contains basic functionality that you can use to build Web applications. The core functionality of IIS includes solutions for server administration tasks, Web application development tasks, as well as internal support for the IIS services.

Server Configuration Tasks

As an administrator, you can perform the following tasks:

  • Design the structure of the Web and FTP sites on your IIS server.

  • Configure settings for each of your sites and applications. For example, allow or deny users access to sites or files by altering security settings.

  • Enable and disable sites, services, or applications.

Content Development Tasks

As a Web application developer, you can perform the following tasks:

  • Write an ISAPI filter and, with the appropriate security permissions, install it on the IIS server. An ISAPI filter is the first to process every client request. Once an ISAPI filter is done processing the request, it can send the request body to the next destination, which might be the Web page that was originally requested.

  • Write an ISAPI extension to process a client request and build a response. An ISAPI extension is requested just like an ASP page, by file name.

  • Write a Web page to process a client request and build a response. It may be an HTML page, an ASP or ASP.NET page, an STM page, or any extension that is mapped to a DLL on your server.

  • Write a COM+ component to process a client request and build a response. A COM+ component must be called from an ASP page or an ISAPI application.

Internal Support for IIS Services

The IIS server, along with the HTTP Listener (HTTP.sys) (or Inetinfo.exe in IIS versions 5.1 and earlier) handles the following tasks:

  • Establishes and maintains HTTP connections. Manages asynchronous connections.

  • Populates instances of the ASP and ASP.NET built-in objects with available data from each HTTP request, such as session state information, error information, and client certificate information.

  • Passes a request body through a chain of possible destinations as illustrated in IIS Request Processing.

  • Populates an instance of the Response Object as a response is built during the processing of each request.

  • Modifies HTTP headers in a response according to configuration settings set by the administrator or page-level settings written by the application developer.

  • Sends HTTP responses back to clients.

  • Loads the IIS server configuration settings set by the administrator into memory for fast performance.