Hi! Microsoft describes http.sys as the kernel mode cache of IIS 6, however it's kernel mode HTTP listener with cache for any application.
Using http.sys Apache HTTPD could be used with IIS 6 on Windows sharing the same port and IP address. I think this is a good thing if you want to host more web sites using different server software on the same server. Directory names can also be specified in addition to host names, thus different directories with the same host can be served by different server software. It has a public user mode interface, httpapi.dll, and it used by IIS 6 as well, so anybody can use the same functionality. And of course Apache HTTPD could use the cache functionality of http.sys. http.sys is a core operating system component, it's on the system without installing IIS 6. It's supported by Windows Server 2003 and will be included in the upcoming Windows XP SP2. I think you should consider implementing HTTP API in Apache HTTPD as it has a lot of possibilities. More information about HTTP API is available in Platform SDK: http://msdn.microsoft.com/library/en-us/http/http/http_api_start_page.asp Sincerely, Kornél