Sunday, March 29, 2009

IIS 5 vs IIS 6.0


IIS 5 vs IIS 6










IIS 5
When a request comes in, inetinfo.exe process in IIS 5 hosts aspnet_isapi.dll and forwards the request to it. The aspnet_isapi.dll will create a new instance of aspnet_wp.exe worker process. This process will host the .NET runtime and forward the request to it.
Because the aspnet_isapi.dll and .NET runtime are in two separate processes, they use a named pipe to communicate.
IIS 6
IIS 6 doesn’t directly host aspnet_isapi.dll, instead IIS 6 always creates a separate instance of w3wp.exe worker process and all processing occurs inside of this process which hosts both aspnet_isapi.dll and the .NET runtime.This improves the performance because no named pipe is needed.
IIS uses a device driver named HTTP.SYS to route incoming requests to the proper application pool.