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


Reply via email to