New features with this release, as extensions of the Apache functionality. Because the core code has changed so significantly, there are certain liberties that earlier versions of Apache (and the NCSA daemon) took that recent Apache versions are pickier about - please check the compatibility notes if you have any problems.
If you're upgrading from Apache 1.2, you may wish to read the upgrade notes.
Enhancements: Core | Performance | Configuration | Modules | API | Misc
Configuration
have been replaced with "AddModule"
with a slightly different syntax. For module authors there are
some changes designed to make it easier for users to add their
module.
ProxyReceiveBufferSize
directive gives
mod_proxy
's outgoing connections larger network
buffers, for increased throughput.
writev
(where
available) to issue multiple writes with a single system call.
They also avoid copying memory into buffers as much as
possible. The result is less CPU time spent on transferring
large files.
mmap
, which
means bytes are only copied from the disk buffer to the
network buffer directly by the kernel. The program never
copies bytes around, which reduces CPU time. (Only where
available/tested.)
mod_log_config
can
be compile-time configured to buffer writes.
strncpy()
with
ap_cpystrn()
, a routine which doesn't have to
zero-fill the entire result. This has dramatic effects on
mod_include
speed.
See the new performance documentation for more information.
configure
script and a corresponding top-level
Makefile.tmpl
file. The goal is to provide a GNU
Autoconf-style frontend which is capable to both drive the old
src/Configure
stuff in batch and additionally
installs the package with a GNU-conforming directory layout. Any
options from the old configuration scheme are available plus a lot
of new options for flexibly customizing Apache.
apxs
was created which provides off-source building,
installing and activating of those DSO-based modules. It
completely hides the platform-dependent DSO-build commands from
the user and provides an easy way to build modules outside the
Apache source tree. To achieve this APACI installs the Apache C
header files together with the apxs
tool.
/usr/local/apache/
/usr/local/etc/httpd/
to
/usr/local/apache/
. This change covers only the
default setting (and the documentation); it is of course possible
to override it using the -d
ServerRoot and -f httpd.conf switches when
starting apache.
NameVirtualHost
directive is used to list IP address:port pairs on which
HTTP/1.1-style virtual hosting occurs. This is vhosting based on
the Host:
header from the client. Previously this
address was implicitly the same as the "main address" of the
machine, and this caused no end of problems for users, and was not
powerful enough. Please see the Apache Virtual Host documentation for
further details on configuration.
Include
directive
Include
directive includes other config files immediately at that point in
parsing.
-S
command line option
it will dump out information regarding how it parsed the
VirtualHost
sections. This is useful for folks
trying to debug their virtual host configuration.