httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Phillip Susi <>
Subject Re: Post-2.2 Thoughts
Date Sun, 08 May 2005 19:43:48 GMT
Paul Querna wrote:

>So, here is my short-list-made-up-this-afternoon of things I would like
>to look at doing after 2.2 is branched/released as GA.  I welcome
>additions too.
>1) Eliminate the HTTP in HTTPD.  I would like to be able to compile
>httpd with --disable-http.  Currently the 'http core' is half mangled
>with the 'core core'.
I like this idea.  I think one of the best and most important things 
that apache is doing these days is trying to migrate away from being a 
web server and towards a generic server platform.  Eventually I would 
like to be able to run apache to serve web content, email ( smtp as well 
as pop3 ), and subversion repositories and other file shares ( possible 
now ). 

>2) Add a major Protocol Module.  I would like to add a major protocol
>module, besides http, into the mainline distribution.  I believe adding
>a FTP Server Module would be the best one to start with.  Many of the
>paradigms are the same, but it is different enough to help with Goal #1,
>eliminating the dependence on http.
Sounds good.  FTP would offer the path of least resistance and help to 
eliminate the dependence on http.  I do not however, think that it has 
long term use in its own right, because ftp is being replaced with 

>3) Asynchronous Connection Level Filters.  This one needs much more
>thought, but the basic goal is to allow the Event MPM to do all of the
>initial HTTP parsing without a worker. (eg, reading the headers).  Once
>the headers are read, it would pass the request off to a worker.  I
>don't think trying to make the different Hooks or Handlers Asynchronous
>will be that helpful, but Connection Level Filters would need a
>re-design to handle this idea.  I don't personally have a clear picture
>how this would all work yet, and really want the input of everyone else.
I'm not quite sure what you mean here, but that is probably because I'm 
new to hacking on apache, so forgive me if this is a stupid question.  
As I understand it now, the MPM receives data from the socket and places 
it into a bucket, attaches the bucket to the brigade, and calls the 
lowest level filter, passing it the bucket.  Each filter in the chain 
then can modify the brigade, and can pass the bucket to the next filter, 
or possibly call back down the chain to the mpm to get more data.  
Eventually the brigade makes it to the handler which forms a reply and 
passes it back down the chain to the mpm to send out on the socket.  Is 
this about correct?  Where do workers fit in?

>4) Configuration.  I would like to look at enabling different
>configuration systems.  A major change would be to allow more runtime
>configuration changes.  Others have mentioned using XML -- Im not sold
>on it, and I don't think XML should be an exclusive method, but perhaps
>an alternative file format.
>I don't think I can do all of these myself.  If we did all of them, it
>could be a '3.0'.  I am not sure if the project is ready for a 3.0 yet,
>and in some ways, I think after 2.2 we should pick a few key things and
>target them for '2.4'. But, it doesn't matter, this is open source, not
>some commercial product :)
>These are the types of things I would love to talk about at the
>Hackathon before ApacheCon this summer. I am seeding them now, in the
>hope that other minds will start hacking on new ideas for httpd.

View raw message