Apache Server Project Plan
THIS DOCUMENT IS CURRENTLY BEING UPDATED. PLANS POST 2.0 ARE STILL FUZZY!
This document aims to encapsulate our plans for world domination, uh,
I mean, further work on the Apache web server. This is simply a
statement of goals, is always subject to change, and should not be
relied upon for business or mission-critical purposes. Nothing is
- Multithreaded/Multiprocess hybrid
- An Apache runtime library
- Shared memory pools
- Absolute Enforcement of an "Apache Style" for code.
- Updated Configure/build/make process (autoconf?)
- Configuration API, so that different configuration loaders can be written (Perl, Java, etc.)
- More API hooks:
- Post config-read; so we can check consistency between
directives and abort the startup
- Per child init
- Per child die
- Pre-handler; which asks round what could *potentially* be served on a URI;
gets back a list of possible internal redirects with the mime-type/lang/charset
and quality values.
- Up to 4 placeholders for future use ?
- Logging enhancements
- Separate logs for stderr and server error messages
- Enable all virtual hosts to error-log to the same log, in ways
which distinguish entries.
- Syslog, with different debugging levels, a la named or sendmail
- Fully 1.1 compliant proxy module.
- Protocol abstraction layer, so that different protocol implementations can be distributed as a module.
- Check returns from all system calls: read, write, etc.
- Nicer Access Control (allow "OneOf","AND","OR" ala NCSA)
- Named Access Methods
- Implementation of the "LINK" Method
- Authentication API, to make authentication type and database
- Next-generation content negotiation support
- Data store abstraction API? So we're not always presuming we sit on top of a filesystem.
- Enable logging of all "POST"ed data - for commercial-database-like
backups and replay ability.
- Support for CERN-style imagemaps? http://www.w3.org/pub/WWW/Daemon/User/CGI/HTImageDoc.html#config.
- give an "Option", like "IncludesNoExec", except allow for CGI includes,
not CMD includes.
- Serious dynamic loading support, so that binary distributions can have all
modules compiled and can be used even by folks without compilers of their own.
- Standardized PUT support, at least a perl script included with the distribution.