From: "Kornél Pál" > > Microsoft describes http.sys as the > kernel mode cache of IIS 6, however it's > kernel mode HTTP listener with cache for > any application. >
<quote> The HTTP application programming interface (API) enables applications to communicate over HTTP without using Microsoft Internet Information Server (IIS). </quote> Anyway, at first, there will just be "a few" hundreds of million or so, of these default on HTTP.SYS devices, active on the Internet. Because it seems HTTP.SYS (a HTTP listener and router and responder with cache, SSL, and etc.) will be a part of all Windows systems. Yes HTTP.SYS is being back ported to Windows XP SP2 and this and other Windows XP SP2 changes may be added to the higher up Windows systems. > 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. > Yes since HTTP.SYS (default on) will allow other processes to share the same port (if using the HTTP.SYS APIs or the HTTP config tool). Or perhaps, via the newer .NET Framework HttpListener class (works with HTTP.SYS), is a simple Web server (that can self-host ) or work with others. Grandpa and Grandma can turn their kiddies HTTP pictures (site) off and on. Or business users can turn off and on, their many simple HTTP get and send actions (web services too). And if the URI is not valid or there is nothing registered (with HTTP.SYS) and the port is open, then HTTP.SYS returns a HTTP error message. > > 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 > I added Apache APR because APR is where ASF's HTTPD and APR users, that access Windows ports (for one thing), will use or not use these new Windows system wide changes. The Windows HTTP.SYS device (Windows XP SP2 and higher) and the new Windows Installer (Windows 2000 and up) and of course, the Windows Firewall (Windows XP SP2 and higher). And these above objects do not include the many major changes to the system shell HTTP reader, commonly called Internet Explorer. All these new Windows system objects will be "default on" for the user (and most users will / should keep them on). So all other programs will need to be "aware of and work with" these new Windows system wide objects. Release Notes for Microsoft Windows XP Service Pack 2 Release Candidate 2 Updated: June 14, 2004 http://www.microsoft.com/technet/prodtechnol/winxppro/deploy/relsprc2.mspx Windows XP Service Pack 2 Release Candidate 2 Preview http://www.microsoft.com/technet/prodtechnol/winxppro/sp2preview.mspx <quote> To successfully allow applications to use the same port on different IP addresses, you must use a new utility, Httpcfg.exe. </quote> Perhaps this really means: <quote> The HTTP API allows multiple applications to co-exist on a system, sharing the same TCP port (for example, port 80 for HTTP or port 443 for HTTPS) and serving different parts of the URL namespace. <quote> HTTP.SYS can route by any: URI or parts of the URI. So continuing on: <quote> Httpcfg.exe is located on the Windows Server 2003 CD in the Support\Tools directory as part of the Support.cab file. Snip To configure HTTP.sys, you must use Httpcfg.exe. Snip In IIS 6.0, HTTP.sys is the TCP listener and HTTP.sys does not use the Winsock API. Sockets are not a configurable property. HTTP.sys uses an IP inclusion list. By default, this list is blank and IIS listens on all IP addresses. You can specify the IP addresses IIS will listen on by adding them to the IP inclusion list. </quote> IIS 6.0: Setting Metabase Property DisableSocketPooling Has No Effect http://support.microsoft.com/default.aspx?scid=kb;EN-US;813368 Also the people who bring you HTTP.SYS and the WINHTTP.DLL now have a blog. <quote> This is a collaborative Weblog from the Web Transports Team in Windows Networking. As a team we work on the http stacks in Windows; http.sys the kernel part of the IIS 6.0 Web Server (part of Windows Server 2003) and its own developer API, wininet.dll which is the client side HTTP stack at the heart of Internet Explorer, and winhttp.dll which is the client side HTTP stack favored by server applications relying on performance and reliability. </quote> The Web Transports team http://blogs.msdn.com/webtransports/ So I guess the real question is has one tried Apache and IIS with Windows Server 2003 or Windows XP SP2 via HTTP.SYS? Jeff
