From: "Kornél Pál" > > > I have to say you are wrong.
> > > > Okay I often am but where? :) > > I've quoted the lines in your are wrong in my opinion.:) > Summarized: > only static files, I said: "HTTP.SYS is for quick static responses" <quote> The HTTP API provides developers with a low-level interface to the server side of the HTTP functionality as defined in RFC 2616. The API allows the application to receive HTTP requests directed to URLs of interest to it, and send HTTP responses. For sending dynamic responses, however, the ISAPI or ASP.NET interfaces are a better choice than the HTTP API. </quote> About HTTP API http://msdn.microsoft.com/library/en-us/http/http/about_http_api.asp Kernel mode HTTP.SYS usually receives requests and routes them to another user mode process, unless there is a response stored in the kernel mode HTTP.SYS cache. An example of HTTP.SYS using another process and caching: <quote> Does a page get cached or not? IIS 6.0 has a great response caching feature implemented in the kernel-mode http.sys driver. Depending on the app and the load characteristics, it can greatly improve application performance for both static and dynamic pages by caching html responses in kernel mode. The performance improvement comes primarily from eliminating the transitions from kernel to user mode typically needed to service a request. Response caching works with static files, as well as with dynamic content in ASP and ASP.NET. For ASP.NET, you enable caching through the configuration directive: <%@ OutputCache Location="Server" %> But how does http.sys determine whether to cache a page? One way would be to cache each page requested in FIFO order. So once the cache fills up, then the oldest cache entry would be the first to drop off the list. However, it's common for a page to be requested only infrequently, so this would fill the cache unnecessarily. Instead, pages are cached only if they are requested twice within a configurable activity period, whose default is 10 seconds. For example, if you have an application that serves stock quotes (this is essentially what http://quotes.nasdaq.com, which runs IIS 6 does) and you're commonly getting requests for quotes for MSFT. Once cached, the response is returned directly from the kernel-mode cache. But what about the price of the stock, which changes? The attribute 'Duration' allows you to indicate how long to cache a response. So if you set Duration=10, you're keeping the response in the cache for 10 seconds. </quote> > only small server, > > > >Not a real new big > > > >business web server. But may be a server > > > >for the one man shop Yes HTTP.SYS may be fine as a "stand alone" home office web server (via the newer .NET Framework class) but for a high demand place? HTTP.SYS needs more... HTTP.SYS is a device (a very helpful device) <quote> The HTTP API does not support the following functionality: The HTTP API does not perform client or server authentication based on the contents of the HTTP request headers. Any authentication that is required must be implemented by the application. The HTTP API does not support WOW64 on 64-bit machines. The HTTP API does not support logging of HTTP requests and responses. The HTTP API does not chunk outgoing HTTP responses. The application must implement response chunking if it is needed. </quote> HTTP API Features http://msdn.microsoft.com/library/en-us/http/http/http_api_features.asp > improved security > > > >and may be for security > > > >of open ports, etc. :) What is the HTTP.SYS device's default binding in Windows XP SP2? What is the Windows Firewall default in Windows XP SP2? Developers (and users) need to be aware of both of these new controllers as Windows system parts. Perhaps with programs that use the new APIs from the Firewall and the HTTP.SYS device. Or perhaps the user will need to use the config tools for these devices (or a program with rights to use these config tools). > If all port is open > (it's a really huge number of > open ports, but why not:)) Please read why not to have open ports elsewhere. :) Jeff