You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2005/10/05 21:59:21 UTC

What is a "REQUEST"?

In order to continue with our efforts to make http a truly flexible
multiprotocol server, we need to start distinguishing a few elements.

The MPM core engine, the connection rec and core filters are (or should
have been) request_rec agnostic.  The act of establishing a connection
has nothing to do with a request-oriented paradime.

I propose to leave everything that is request-agnostic in server/...

The request_rec happens to be http-specific now, but really doesn't need
to be.  However, the request/response pattern is useful to a number of
various protocols, so I propose to create a new directory of all of the
request_rec specific core elements, as request/...

I envision every build of httpd binary would include all of server/ and
all of request/, even if the protocols the user wishes to use don't
acutally use the request paradime.  This ensures they can then load some
request-oriented protocol module and we don't end up with some silly
util_request.so module.

After splitting off all request_rec common functionality, we then again
need to refactor between request/... and modules/http/... - there are
many many examples where the relationships between the two are nonsense.

At this time, this process will have -very- few side effects.  The only
code patches will be to factor out spurrious references to request_rec
where they were never appropriate within connection modules, and move
that identical behavior to the appropriate spot in the request/... code.

The only impact for the module author will be that some request noise
will have moved, and if they wish to use connection API's - those will
be available to request_rec-less protocol modules.

Bill