Hosting JSP, PHP or any other Server Side Architecture(CGI) on IIS
Here I am writing my first important .. naah very very important blog entry from my desk. If you are a seasoned web developer you know how tough it is to work with various Hypertext Processors or Server Technologies. It was almost impossible to host cross-server side technologies on given web server. Like to host JSP/PHP you'll go and find some third party ISAPIs or will try to develop your own ISAPI that maps to given web technology. Now, As we see the things from different perspective and the world is going towards more and more flexibility, Microsoft has come up with a new tool/technology called FastCGI that empowers web developers to host various web technology extensions on IIS.
On IIS.Net FastCGI was described as:
The IIS FastCGI component enables popular application frameworks like PHP be hosted on the IIS web server in a high-performance and reliable way.
FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way of interfacing external applications with Web servers that has been supported as part of the IIS feature-set since the very first release.
CGI programs are executable launched by the web server for each request in order to process the request and generate dynamic responses that are sent back to the client. Because many of these frameworks do not support multi-threaded execution, CGI enables them to execute reliably on IIS by executing exactly one request per process. Unfortunately, it provides poor performance due to the high cost of starting and shutting down a process for each request.
On IIS.Net FastCGI was described as:
The IIS FastCGI component enables popular application frameworks like PHP be hosted on the IIS web server in a high-performance and reliable way.
FastCGI provides a high-performance alternative to the Common Gateway Interface (CGI), a standard way of interfacing external applications with Web servers that has been supported as part of the IIS feature-set since the very first release.
CGI programs are executable launched by the web server for each request in order to process the request and generate dynamic responses that are sent back to the client. Because many of these frameworks do not support multi-threaded execution, CGI enables them to execute reliably on IIS by executing exactly one request per process. Unfortunately, it provides poor performance due to the high cost of starting and shutting down a process for each request.
If you are interested in, here is a link to a FastCGI whitepaper :
The source for this entry: http://www.iis.net/default.aspx?tabid=1000051