Home > ASP.NET > ASP.NET–What is ISAPI ?/What is CGI?/ Advantage Of ISAPI Over CGI

ASP.NET–What is ISAPI ?/What is CGI?/ Advantage Of ISAPI Over CGI

Hi Geeks ,

In this article we will see the Advantage of ISAPI (Internet Server Application Provide Interface) over CGI(Common Gateway Interface).

* What is ISAPI?

It is an API developed to provide the application developers with a powerful way to extend the functionality of IIS.

ISAPI consists of two components:

Extensions and Filters:

These are the only two types of applications that can be developed using ISAPI. Both Filters and Extensions must be compiled into DLL files which are then registered with IIS to be run on the web server.

Extensions                                                                                                                              An ISAPI server extension is a DLL that can be loaded and called by an HTTP server. Internet server extensions, also known as Internet server applications (ISAs), are used to enhance the capabilities of an Internet Server API (ISAPI)-compliant server. An ISA is invoked from a browser application and provides similar functionality to a Common Gateway Interface (CGI) application

Advantages of ISAPI Server Extensions

Users can fill out forms and click a submit button to send data to a Web server and invoke your ISA, which can process the information to provide custom content or store it in a database. Web server extensions can use information in a database to build Web pages dynamically, and then send them to the client computers to be displayed. Your application can add other custom functionality and provide data to the client using HTTP and HTML.

Both server extensions and filters run in the process space of the Web server, providing an efficient way to extend the server’s capabilities.


An ISAPI filter is a DLL that runs on an ISAPI-enabled HTTP server to filter data traveling to and from the server. The filter registers for notification of events, such as logging on or URL mapping. When the selected events occur, the filter is called, and you can monitor and change the data (on its way from the server to the client or vice versa). ISAPI filters can be used to provide enhanced logging of HTTP requests (for example, to track who is logging on to your server), custom encryption, custom compression, or additional authentication methods.

Common ISAPI applications

This is a list of common ISAPI applications implemented as ISAPI extensions:

  • Active Server Pages (ASP), installed as standard
  • Asp.Net, installed as standard on IIS 6.0 onwards
  • PHP, available for free to install.
    * What is CGI?

It is a gateway for transferring information between a World Wide Web server and a CGI program.

A CGI program is any program designed to accept and return data that conforms to the CGI specification. The program could be written in any programming language, including C, Perl, Java, or Visual Basic or ASP.NET.

CGI programs are the most common way for Web servers to interact dynamically with users. Many HTML pages that contain forms, for example, use a CGI program to process the form’s data once it’s submitted. Another increasingly common way to provide dynamic feedback for Web users is to include scripts or programs that run on the user’s machine rather than the Web server. These programs can be Java applets, Java scripts, or ActiveX controls. These technologies are known collectively as client-side solutions, while the use of CGI is a server-side solution because the processing occurs on the Web server.

* ISAPI over CGI

->The Internet Server Application Programming Interface (ISAPI) model was developed as a faster alternative to the Common Gateway Interface (CGI).

->ISAPI provides a number of advantages over CGI, including lower overhead, faster loading, and better scalability. T

->The chief difference between the CGI and ISAPI programming models is how processing is handled.

With CGI, the system creates a unique process for every request. Each time an HTTP server receives a request, it initiates a new process. Because the operating system must maintain all these processes, CGI requires many of resources. This inherent limitation makes it difficult to develop responsive Internet applications with CGI.

With ISAPI, requests do not require a separate process. Threads are used to isolate and synchronize work items, resulting in a more efficient use of system resources.


Categories: ASP.NET
  1. September 3, 2015 at 9:26 am

    Reblogged this on ozduck.

  2. October 9, 2015 at 12:57 pm

    Sometimes to understand something we need to know the history of that. I began to work on learning the innards of ASP.Net. It leads to the topics of ISAPI, Process(OS), and all. Knowing that ISAPI is underlying beneath the ASP.Net and above IIS gives a great insight about web programming in .net ecosystem.

    This one helps me to understand. Thank you

  3. October 9, 2015 at 1:13 pm

    When I tried to know what is ISAPI. Initially the answer i got is requesting a page to a DLL through Web server with query paramenters, then DLL will serve a dynamic or custom markup to the browser. It confused me further

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: