You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by br...@hyperreal.org on 1998/05/12 07:08:43 UTC

cvs commit: apache-1.3/htdocs/manual new_features_1_3.html

brian       98/05/11 22:08:42

  Modified:    htdocs/manual new_features_1_3.html
  Log:
  Major rewrite.  Reorganized layout into sections.  Cleaned up, standardized
  HTML to make it more readable for those who edit.
  
  Revision  Changes    Path
  1.59      +486 -563  apache-1.3/htdocs/manual/new_features_1_3.html
  
  Index: new_features_1_3.html
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/htdocs/manual/new_features_1_3.html,v
  retrieving revision 1.58
  retrieving revision 1.59
  diff -u -r1.58 -r1.59
  --- new_features_1_3.html	1998/05/11 20:08:03	1.58
  +++ new_features_1_3.html	1998/05/12 05:08:42	1.59
  @@ -4,17 +4,11 @@
   </HEAD>
   
   <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
  -<BODY
  - BGCOLOR="#FFFFFF"
  - TEXT="#000000"
  - LINK="#0000FF"
  - VLINK="#000080"
  - ALINK="#FF0000"
  ->
  +<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" 
  +      VLINK="#000080" ALINK="#FF0000">
   <!--#include virtual="header.html" -->
  -<H1 ALIGN="CENTER">Overview of new features</H1>
  +<H1 ALIGN="CENTER">Overview of New Features in Apache 1.3</H1>
   
  -<H2>New Features with Apache 1.3</H2>
   <P>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
  @@ -22,394 +16,350 @@
   pickier about - please check the
   <A HREF="misc/compat_notes.html">compatibility notes</A> if you have any
   problems.</P>
  +
   <P>If you're upgrading from Apache 1.2, you may wish to read
  -the <A HREF="upgrading_to_1_3.html">upgrade notes</A>.</P>
  -<HR>
  +the <A HREF="upgrading_to_1_3.html">upgrade notes</A>.
   
  -<P>In addition to a number of bug fixes and internal performance
  -enhancements, <A HREF="http://www.apache.org/dist/">Apache
  -1.3</A> has the following specific new user features:</P>
  +<P>Enhancements: <A HREF="#core">Core</A> |
  +<A HREF="#perf">Performance</A> |
  +<A HREF="#config">Configuration</A> |
  +<A HREF="#mod">Modules</A> |
  +<A HREF="#api">API</A> |
  +<A HREF="#misc">Misc</A>
  +
  +<P><HR>
  +
  +<A NAME="core">
  +<H2>Core Enhancements:</H2>
  +</A>
  +
  +<DL>
  +<DT><B><A HREF="sharedobjects.html">Dynamic Shared Object (DSO) support</A></B>
  +<DD>Apache modules may now be loaded at runtime; this means that
  +    modules can be loaded into the server process space only when
  +    necessary, thus overall memory usage by Apache will be
  +    significantly reduced.  DSO works on Linux, FreeBSD, Solaris,
  +    SunOS, IRIX, OSF1, UnixWare, and AIX.
  +
  +<DT><B><A HREF="windows.html">Support for Windows NT/95</A></B>
  +<DD>Apache now experimentally supports the Windows NT and Windows 95
  +    operating systems.
  +
  +<DT><B><A HREF="sourcereorg.html">Re-organised 
  +    Sources</A></B>
  +<DD>The source files for Apache have been re-organised. The main
  +    difference for Apache users is that the "Module" lines in
  +    <CODE>Configuration</CODE> 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.
  +
  +<DT><B>Reliable Piped Logs</B>
  +<DD>On almost all Unix architectures Apache now implements "reliable"
  +    piped logs in <A
  +    HREF="mod/mod_log_config.html">mod_log_config</A>.  Where reliable
  +    means that if the logging child dies for whatever reason, Apache
  +    will recover and respawn it without having to restart the entire
  +    server.  Furthermore if the logging child becomes "stuck" and
  +    isn't reading its pipe frequently enough Apache will also restart
  +    it.  This opens up more opportunities for log rotation, hit
  +    filtering, real-time splitting of multiple vhosts into separate
  +    logs, and asynchronous DNS resolving on the fly.
  +
  +</DL>
  +
  +<P><HR>
  +
  +<A NAME="performance">
  +<H2>Performance Improvements</H2>
  +</A>
   
   <UL>
  - <LI><A
  -      HREF="mod/mod_speling.html"
  -     ><STRONG>Optional &laquo;Spelling Correction&raquo; module added to distribution</STRONG></A>
  -  <BR>
  -  This optional module corrects frequently occurring spelling errors in
  -  document names requested from the server. This includes the correction
  -  of miscapitalized requests (as was available in a separately available
  -  <EM>mod_speling</EM> module as of Apache 1.1 already) but extends
  -  spelling correction to single inserted, omitted, transposed or
  -  mistyped characters. This catches the majority of mistyped requests.
  -  To make use of this module, it must be enabled in the server's
  -  <CODE>Configuration</CODE> file, and the
  -  <A HREF="mod/mod_speling.html#checkspelling"><SAMP>CheckSpelling</SAMP></A>
  -  directive must be set to <CODE>on</CODE>.
  - </LI>
  - <LI><A
  -      HREF="mod/mod_setenvif.html"
  -     ><STRONG>Enhanced Conditional Setting of Environment Variables</STRONG></A>
  -  <BR>
  -  The
  -  <A
  -   HREF="mod/mod_setenvif.html#BrowserMatch"
  -  ><SAMP>BrowserMatch*</SAMP></A>
  -  directives of Apache 1.2 have been joined by some more powerful
  -  brethren:
  -  <A
  -   HREF="mod/mod_setenvif.html#SetEnvIf"
  -  ><SAMP>SetEnvIf</SAMP></A>
  -  and
  -  <A
  -   HREF="mod/mod_setenvif.html#SetEnvIfNoCase"
  -  ><SAMP>SetEnvIfNoCase</SAMP></A>.  These allow you to set environment
  -  variables for server and CGI use based upon all <EM>sorts</EM> of
  -  attributes of the request.
  - </LI>
  - <LI><STRONG>Easier navigation in ftp server directory trees</STRONG>
  -  <BR>
  -  When accessing ftp servers using mod_proxy and the ftp method, the
  -  generated directory listings now allow easier navigation. The full
  -  directory path as shown in the header line now consists of a list of
  -  clickable links which directly jump to the selected subdirectory level.
  - </LI>
  - <LI><STRONG>Better Logging for Proxy Connect Errors</STRONG>
  -  <BR>
  -  In Apache 1.2 and earlier, when the proxy had difficulty connecting to
  -  a system it would log the error but no details.  It now includes the
  -  IP address and port to which it couldn't connect.
  - </LI>
  - <LI><A
  -      HREF="mod/mod_include.html#flowctrl"
  -     ><STRONG>Enhanced SSI String Comparisons</STRONG></A>
  -  <BR>
  -  The string-based server-side include (SSI) flow-control directives
  -  provided by
  -  <A
  -   HREF="mod/mod_include.html"
  -  ><SAMP>mod_include</SAMP></A>
  -  now include comparison for less-than (&lt;), less-than-or-equal
  -  (&lt;=), greater-than (&gt;), and greater-than-or-equal (&gt;=).
  -  Previously comparisons could only be made for equality or inequality.
  - </LI>
  -<LI><A
  -     HREF="sourcereorg.html"
  -    ><STRONG>Re-organised Sources</STRONG></A>
  - <BR>
  - The source files for Apache have been re-organised. The main difference
  - for Apache users is that the "Module" lines in <CODE>Configuration</CODE>
  - 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.
  -</LI>
  -<LI><A
  -     HREF="install.html#install"
  -    ><STRONG>Default Apache directory path changed to <SAMP>/usr/local/apache/</SAMP></STRONG></A>
  - <BR>
  - The default directory for the apache ServerRoot changed from the NCSA-compatible
  - <SAMP>/usr/local/etc/httpd/</SAMP> to <SAMP>/usr/local/apache/</SAMP>.
  - This change covers only the default setting (and the documentation); it
  - is of course possible to override it using the <A HREF="invoking.html">
  - -d <EM>ServerRoot</EM> and -f <EM>httpd.conf</EM></A> switches when starting apache.
  -</LI>
  -<LI><A
  -     HREF="mod/mod_autoindex.html"
  -    ><STRONG>Sortable Directory Listings</STRONG></A>
  - <BR>
  - If a directory listing is displayed using
  - <A
  -  HREF="mod/mod_autoindex.html#indexoptions"
  - ><SAMP>FancyIndexing</SAMP></A>,
  - clicking on a column title will now sort the listing in
  - order by the values in that column.  Selecting the column
  - repeatedly will toggle between ascending and descending order.
  - This feature can be disabled with the <SAMP>SuppressColumnSorting</SAMP>
  - <A
  -  HREF="mod/mod_autoindex.html#indexoptions"
  - >IndexOptions</A>
  - keyword.
  -</LI>
  + <LI>IP-based virtual hosts are looked up via hash table.
  + <LI>&lt;Directory&gt; parsing speedups.
  + <LI>The critical path for static requests has fewer system calls.
  +     This generally helps all requests.  (45 syscalls for a static
  +     request in 1.2 versus 22 in 1.3 in a well tuned
  +     configuration).
  + <LI><A HREF="mod/mod_proxy.html#proxyreceivebuffersize">
  +     <CODE>ProxyReceiveBufferSize</CODE></A> directive gives
  +     <CODE>mod_proxy</CODE>'s outgoing connections larger network
  +     buffers, for increased throughput.
  + <LI>The low level I/O routines use <CODE>writev</CODE> (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.
  + <LI>Static requests are served using <CODE>mmap</CODE>, 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.)
  + <LI>When presented with a load spike, the server quickly adapts by
  +     spawning children at faster rates.
  + <LI>The code which dispatches modules was optimized to avoid
  +     repeatedly skipping over modules that don't implement certain
  +     phases of the API.  (This skipping showed up as 5% of the cpu
  +     time on profiles of a server with the default module mix.)
  + <LI>Revamp of the Unix scoreboard management code so that less
  +     time is spent counting children in various states.  Previously
  +     a scan was performed for each hit, now it is performed only
  +     once per second.  This should be noticeable on servers running
  +     with hundreds of children and high loads.
  + <LI>New serialization choices improve performance on Linux, and
  +     IRIX.
  + <LI><CODE><A
  +     HREF="mod/mod_log_config.html">mod_log_config</A></CODE> can
  +     be compile-time configured to buffer writes.
  + <LI>Replaced <CODE>strncpy()</CODE> with
  +     <CODE>ap_cpystrn()</CODE>, a routine which doesn't have to
  +     zero-fill the entire result.  This has dramatic effects on
  +     <CODE>mod_include</CODE> speed.
  + <LI>Additions to the internal "table" API (used for keeping lists
  +     of key/value string pairs) provide for up to 20% performance
  +     improvement in many situations.
  +</UL>
  +
  +<P>See <A HREF="misc/perf-tuning.html">the new performance
  +documentation</A> for more information.
  +
  +<P><HR>
  +
  +<A NAME="config">
  +<H2>Configuration Enhancements</H2>
  +</A>
  +
  +<DL>
  +<DT><B>Apache Autoconf-style Interface (APACI)</B>
  +<DD>Until Apache 1.3 there was no real out-of-the-box batch-capable
  +    build and installation procedure for the complete Apache
  +    package. This is now provided by a top-level
  +    <CODE>configure</CODE> script and a corresponding top-level
  +    <CODE>Makefile.tmpl</CODE> file. The goal is to provide a GNU
  +    Autoconf-style frontend which is capable to both drive the old
  +    <CODE>src/Configure</CODE> 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.
  +
  +<DT><B>APache eXtenSion (APXS) support tool</B>
  +<DD>Now that Apache provides full support for loading modules under
  +    runtime from dynamic shared object (DSO) files, a new support tool
  +    <CODE>apxs</CODE> was created which provides off-source building,
  +    installing and activating of those DSO-based modules. It
  +    completely hides the platform-dependend 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 <CODE>apxs</CODE> tool.
  + 
  +<DT><A HREF="install.html#install"><B>Default Apache directory 
  +    path changed to <CODE>/usr/local/apache/</CODE></B></A><BR>
  +<DD>The default directory for the apache ServerRoot changed from the
  +    NCSA-compatible <CODE>/usr/local/etc/httpd/</CODE> to
  +    <CODE>/usr/local/apache/</CODE>.  This change covers only the
  +    default setting (and the documentation); it is of course possible
  +    to override it using the <A HREF="invoking.html"> -d
  +    <EM>ServerRoot</EM> and -f <EM>httpd.conf</EM></A> switches when
  +    starting apache.
  +
  +<DT><B>Improved HTTP/1.1-style Virtual Hosts</B>
  +<DD>The new <A
  +    HREF="mod/core.html#namevirtualhost"><CODE>NameVirtualHost</CODE></A>
  +    directive is used to list IP address:port pairs on which
  +    HTTP/1.1-style virtual hosting occurs.  This is vhosting based on
  +    the <CODE>Host:</CODE> 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 <A
  +    HREF="vhosts/index.html">Apache Virtual Host documentation</A> for
  +    further details on configuration.
  +
  +<DT><B><CODE>Include</CODE> directive</B>
  +<DD>The <A HREF="mod/core.html#include" ><CODE>Include</CODE></A>
  +    directive includes other config files immediately at that point in
  +    parsing.
  +
  +<DT><B>-S command line option for debugging vhost setup</B>
  +<DD>If Apache is invoked with the <CODE>-S</CODE> command line option
  +    it will dump out information regarding how it parsed the
  +    <CODE>VirtualHost</CODE> sections.  This is useful for folks
  +    trying to debug their virtual host configuration.
  +
  +</DL>
  +
  +<P><HR>
  +
  +<A NAME="mod">
  +<H3>Module Enhancements</H3>
  +</A>
  +
  +<DL>
  +<DT><A HREF="mod/mod_speling.html"><B>NEW - Spelling correction 
  +    module</B></A><BR>
  +<DD>This optional module corrects frequently occurring spelling and
  +    capitalization errors in document names requested from the server.
  +
  +<DT><A HREF="mod/mod_setenvif.html"><B>NEW - Conditional setting of 
  +    environment variables</B></A><BR>
  +<DD>The addition of
  +    <A HREF="mod/mod_setenvif.html#SetEnvIf">
  +    <CODE>SetEnvIf</CODE></A> and
  +    <A HREF="mod/mod_setenvif.html#SetEnvIfNoCase">
  +    <CODE>SetEnvIfNoCase</CODE></A>.  These allow you to set
  +    environment variables for server and CGI use based upon attributes
  +    of the request.
  +
  +<DT><B><A HREF="mod/mod_mime_magic.html">NEW - "Magic" MIME-typing</A></B>
  +<DD>The optional <CODE>mod_mime_magic</CODE> has been
  +    added. It uses "magic numbers" and other hints from a file's
  +    contents to figure out what the contents are. It then uses this
  +    information to set the file's media type, if it cannot be
  +    determined by the file's extension.
  +
  +<DT><B><A HREF="mod/mod_unique_id.html">NEW - Unique Request 
  +    Identifiers</A></B>
  +<DD><A HREF="mod/mod_unique_id.html">mod_unique_id</A> can be included
  +    to generate a unique identifier that distinguishes a hit from
  +    every other hit.  ("Unique" has some restrictions on it.)  The
  +    identifier is available in the environment variable
  +    <CODE>UNIQUE_ID</CODE>.
  +
  +<DT><B>mod_proxy enhancements:</B>
  +<UL>
   <LI><A
  -     HREF="mod/mod_autoindex.html#indexoptions"
  -    ><STRONG><SAMP>SuppressHTMLPreamble</SAMP> Option for
  -    FancyIndexed Directories</STRONG></A>
  - <BR>
  - If a directory is marked for display with FancyIndexing, the listing
  - page usually follows a predefined format using server-generated HTML.
  - <STRONG>If</STRONG> the <SAMP>IndexOptions</SAMP> directive for the directory
  - includes the <SAMP>SuppressHTMLPreamble</SAMP> option,
  - <STRONG>and</STRONG> a file specified by the
  - <A
  -  HREF="mod/mod_autoindex.html#headername"
  - ><SAMP>HeaderName</SAMP></A>
  - directive is found in the directory, <STRONG>and</STRONG> the header
  - file is recognized as containing HTML (determined by the file
  - extension), <STRONG>then</STRONG> the module will assume that the
  - header file contains the necessary introductory HTML tags and will not
  - generate them itself.
  -</LI>
  -<LI><STRONG>Less Buffering of CGI Script Output</STRONG>
  - <BR>
  - In previous versions of Apache, the output from CGI scripts would be
  - internally buffered by the server, and wouldn't be forwarded to the
  - client until either the buffers were full or the CGI script completed.
  - As of Apache 1.3, the buffer to the client is flushed any time it
  - contains something and the server is waiting for more information from
  - the script.  This allows CGI script to provide partial status reports
  - during long processing operations.
  -</LI>
  -<LI><STRONG><A HREF="windows.html">Support for Windows NT/95</A></STRONG><BR>
  -Apache now supports the Windows NT and Windows 95 operating systems,
  -as well as the Unix systems supported in previous releases. Although the
  -Windows version of Apache may not be perform as well as on the Unix
  -systems for which Apache was originally written, the ability to run on
  -Windows gives Apache the ability to run on a large number of web
  -servers it was not previously able to.
  -</LI>
  -<LI><STRONG><A HREF="ebcdic.html">Port to EBCDIC mainframe machine running BS2000/OSD</A></STRONG><BR>
  -As a premiere, this version of Apache comes with a beta version of a port
  -to a mainframe machine which uses the EBCDIC character set as its native
  -codeset (It is the SIEMENS NIXDORF family of mainframes running the
  -BS2000/OSD operating system on a IBM/390 compatible processor
  -This mainframe OS nowadays features a SVR4-like POSIX subsystem).<BR>
  -Provisions to convert between EBCDIC documents and the ASCII encoded
  -HTTP protocol have been integrated into Apache, and most of
  -the provided Apache modules have been ported to this platform.
  -</LI>
  -<LI><STRONG><A HREF="mod/mod_alias.html">Regular Expression support for
  -<SAMP>Alias</SAMP> and <SAMP>Redirect</SAMP></A></STRONG>
  -<BR>
  -New <A HREF="mod/mod_alias.html#aliasmatch"><SAMP>AliasMatch</SAMP></A>,
  -<A HREF="mod/mod_alias.html#scriptaliasmatch"
  -><SAMP>ScriptAliasMatch</SAMP></A>, and
  -<A HREF="mod/mod_alias.html#redirectmatch"><SAMP>RedirectMatch</SAMP></A>
  -directives allow for the use of regular expression matching.
  -Additionally, new
  -<A HREF="mod/core.html#directorymatch"><SAMP>&lt;DirectoryMatch&gt;</SAMP></A>,
  -<A HREF="mod/core.html#locationmatch"><SAMP>&lt;LocationMatch&gt;</SAMP></A>,
  -and
  -<A HREF="mod/core.html#filesmatch"><SAMP>&lt;FilesMatch&gt;</SAMP></A>
  -sections provide a new syntax for regular expression sectioning.
  -
  -<LI><STRONG><A HREF="mod/mod_mime_magic.html">New "Magic" MIME-typing
  -    module</A></STRONG><BR>
  -    A new module, the optional <CODE>mod_mime_magic</CODE>, has been
  -    added. It uses "magic numbers" and other hints from a file's contents
  -    to figure out what the contents are. It then uses this information to
  -    set the file's media type, if it cannot be determined by the file's
  -    extension.
  -
  -<LI><STRONG>Directory indexing modules split</STRONG><BR>
  -    The <CODE>mod_dir</CODE> module has been split in two, with
  -    <A HREF="mod/mod_dir.html">mod_dir</A> handling directory index
  -    files, and <A HREF="mod/mod_autoindex.html">mod_autoindex</A>
  -    creating directory listings.  Thus allowing folks to remove
  -    the indexing function from critical servers.
  +    HREF="mod/mod_proxy.html#noproxy"><CODE>NoProxy</CODE></A> and <A
  +    HREF="mod/mod_proxy.html#proxydomain"><CODE>ProxyDomain</CODE></A>
  +    directives added to proxy, useful for intranets.
  +<LI>New <CODE><A HREF="mod/mod_proxy.html#proxypassreverse">
  +    ProxyPassReverse</A></CODE> directive.  It lets Apache adjust the
  +    URL in the <TT>Location</TT> header on HTTP redirect
  +    responses. 
  +<LI>Easier navigation in ftp server directory trees.
  +</UL>
   
  - <LI><STRONG>Support for Directory Icon Sizing</STRONG>
  -  <BR>
  -  The
  -  <A
  -   HREF="mod/mod_autoindex.html"
  -  ><SAMP>mod_autoindex</SAMP></A>
  -  module provides listings of directory contents when appropriate.  If
  -  the <SAMP>FancyIndexing</SAMP> option is enabled, each file in the
  -  list is preceded by an icon representing the content type.  In earlier
  -  versions of Apache, the HTML <SAMP>IMG</SAMP> tags for these icons
  -  weren't sized, so the browser had to wait until the images were loaded
  -  before it could lay out the page.  With 1.3, the
  -  <A
  -   HREF="mod/mod_autoindex.html#indexoptions"
  -  ><SAMP>IndexOptions</SAMP></A>
  -  directive has two new keywords which allow you to control whether
  -  pre-sized <SAMP>IMG</SAMP> tags are used.  This can substantially
  -  speed up the display of large directory listings.
  -
  -<LI><STRONG><A HREF="mod/core.html#accessfilename"><SAMP>AccessFileName</SAMP>
  -Enhancement</A></STRONG><BR>
  -The <SAMP>AccessFileName</SAMP> directive can now take more than one
  -filename. This lets sites serving pages from network file systems and
  -more than one Apache web server, configure access based on the server
  -through which shared pages are being served.
  -
  -<LI><STRONG><SAMP>HostNameLookups</SAMP> now defaults to "Off"</STRONG><BR>
  -    The <A
  -    HREF="mod/core.html#hostnamelookups"><SAMP>HostNameLookups</SAMP></A>
  -    directive now defaults to "Off". This means that, unless explicitly
  -    turned on, the server will not resolve IP addresses into names. This
  -    was done to spare the Internet from unnecessary DNS traffic.
  +<DT><A HREF="mod/mod_include.html#flowctrl"><B>Enhanced 
  +    <CODE>mod_include</CODE> string comparisons</B></A><BR>
  +<DD>The string-based server-side include (SSI) flow-control directives
  +    now include comparison for less-than (&lt;), less-than-or-equal
  +    (&lt;=), greater-than (&gt;), and greater-than-or-equal (&gt;=).
  +    Previously comparisons could only be made for equality or
  +    inequality.
  +
  +<DT><B>ServerRoot relative auth filenames</B>
  +<DD>Auth filenames for the various authentication modules are now
  +    treated as relative to the ServerRoot if they are not full paths.
   
  -<LI><STRONG>Double-Reverse DNS enforced</STRONG><BR>
  -    The
  -    <A HREF="mod/core.html#hostnamelookups"><SAMP>HostnameLookups</SAMP></A>
  -    directive  
  -    now supports double-reverse DNS.  (Known as <EM>PARANOID</EM> in the
  -    terminology of tcp_wrappers.)  An IP address passes a double-reverse
  -    DNS test if the forward map of the reverse map includes the original
  -    IP.  Regardless of the HostnameLookups setting,
  -    <A HREF="mod/mod_access.html">mod_access</A> access lists using DNS
  -    names <STRONG>require</STRONG> all names to pass a double-reverse DNS test.
  -    (Prior versions of Apache required a compile-time switch to enable
  -    double-reverse DNS.)
  -
  -<LI><STRONG>CIDR and Netmask access control</STRONG><BR>
  -    <A HREF="mod/mod_access.html">mod_access</A> directives now support
  -    CIDR (Classless Inter-Domain Routing) style prefixes, and netmasks for
  -    greater control over IP access lists.
  -
  -<LI><STRONG><A HREF="mod/mod_proxy.html#noproxy"><SAMP>NoProxy</SAMP></A>
  -and <A HREF="mod/mod_proxy.html#proxydomain"><SAMP>ProxyDomain</SAMP></A>
  -directives added to proxy, useful for intranets.</STRONG>
  -    
  -<LI><STRONG><A HREF="mod/mod_info.html#addmoduleinfo"
  -><SAMP>AddModuleInfo</SAMP></A>
  -directive added to <A HREF="mod/mod_info.html">mod_info</A></STRONG><BR>
  -Allows additional information to be listed along with a specified module.
  -
  -<LI><STRONG>Experimental module to load modules at runtime on Unix</STRONG><BR>
  -    The new module <SAMP><A HREF="mod/mod_so.html">mod_so</A></SAMP>
  -    enables the addition of modules when Apache is started, rather
  -    than requiring a recompilation.  This is currently experimental,
  -    and replaces the old <SAMP>mod_dld</SAMP> module.
  -
  -<LI><STRONG>Performance Improvements</STRONG>
  -    <UL>
  -    <LI>IP-based virtual hosts are looked up via hash table,
  -	giving a performance boost on servers with large numbers of vhosts.
  -    <LI>&lt;Directory&gt; parsing of requests has been vastly improved, giving
  -	speedups on configs with a lot of sections.
  -    <LI>The critical path for static requests has fewer system calls.  This
  -	generally helps all requests.  (45 syscalls for a static request
  -	in 1.2 versus 22 in 1.3 in a well tuned configuration).
  -    <LI><A HREF="mod/mod_proxy.html#proxyreceivebuffersize"
  -        ><SAMP>ProxyReceiveBufferSize</SAMP></A>
  -	directive gives <CODE>mod_proxy</CODE>'s outgoing connections
  -	larger network buffers, for increased throughput.
  -    <LI>The low level I/O routines use <CODE>writev</CODE> (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.
  -    <LI>Static requests are served using
  -	<CODE>mmap</CODE>, 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.)
  -    <LI>When presented with a load spike, the server quickly adapts by
  -	spawning children at faster rates.
  -    <LI>The code which dispatches modules was optimized to avoid repeatedly
  -	skipping over modules that don't implement certain phases of the
  -	API.  (This skipping showed up as 5% of the cpu time on profiles of
  -	a server with the default module mix.)
  -    <LI>Revamp of the Unix scoreboard management code so that less time is
  -	spent counting children in various states.  Previously a scan was
  -	performed for each hit, now it is performed only once per second.
  -	This should be noticeable on servers running with hundreds of
  -	children and high loads.
  -    <LI>New serialization choices improve performance on Linux, and IRIX.
  -    <LI><CODE><A HREF="mod/mod_log_config.html">mod_log_config</A></CODE>
  -	can be compile-time configured to buffer writes.
  -    <LI>Replaced <CODE>strncpy()</CODE> with <CODE>ap_cpystrn()</CODE>, a
  -	routine which doesn't have to zero-fill the entire result.  This
  -	has dramatic effects on <CODE>mod_include</CODE> speed.
  -    <LI>Additions to the internal "table" API (used for keeping lists of
  -	key/value string pairs) provide for up to 20% performance
  -	improvement in many situations.
  -    </UL>
  -
  -    <P>See <A HREF="misc/perf-tuning.html">the new performance
  -    documentation</A> for more information.
  -
  -<LI><STRONG>Unique Identifiers</STRONG><BR>
  -    <A HREF="mod/mod_unique_id.html">mod_unique_id</A> can be included
  -    to generate a unique identifier that distinguishes a hit from every
  -    other hit.  ("Unique" has some restrictions on it.)  The identifier
  -    is available in the environment variable <CODE>UNIQUE_ID</CODE>.
  -
  -<LI><STRONG>Reliable Piped Logs</STRONG><BR>
  -    On almost all Unix architectures Apache now implements "reliable"
  -    piped logs in <A HREF="mod/mod_log_config.html">mod_log_config</A>.
  -    Where reliable means that if the logging child dies for whatever
  -    reason, Apache will recover and respawn it without having to restart
  -    the entire server.  Furthermore if the logging child becomes "stuck"
  -    and isn't reading its pipe frequently enough Apache will also restart
  -    it.  This opens up more opportunities for log rotation, hit filtering,
  -    real-time splitting of multiple vhosts into separate logs, and
  -    asynchronous DNS resolving on the fly.
  -
  -<LI><STRONG>LogLevel and syslog support</STRONG><BR>
  -    Apache now has <A HREF="mod/core.html#loglevel">configurable error
  -    logging levels</A> and supports <A HREF="mod/core.html#errorlog">error
  -    logging via syslogd(8)</A>. 
  -    
  -<LI><STRONG>ServerRoot relative auth filenames</STRONG><BR>
  -    Auth filenames for the various authentication modules are now treated
  -    as relative to the ServerRoot if they are not full paths.
  -
  -<LI><STRONG><SAMP>Include</SAMP> directive</STRONG><BR>
  -    The
  -    <A
  -     HREF="mod/core.html#include"
  -    ><SAMP>Include</SAMP></A>
  -    directive includes other config files immediately at that
  -    point in parsing.
  -
  -<LI><STRONG>Absence of any <SAMP>TransferLog</SAMP> disables logging</STRONG>
  -    <BR>
  -    If no <A HREF="mod/mod_log_config.html#transferlog"
  -    ><SAMP>TransferLog</SAMP></A>
  -    directive is given then no log is written.  This supports co-existence
  -    with other logging modules.
  -<LI><STRONG>Ability to name logging formats</STRONG>
  - <BR>
  - The
  - <A
  -  HREF="mod/mod_log_config.html#logformat"
  - ><SAMP>LogFormat</SAMP></A>
  - directive has been enhanced to allow you to give nicknames to
  - specific logging formats.  You can then use these nicknames in other
  - <SAMP>LogFormat</SAMP>
  - and
  - <A
  -  HREF="mod/mod_log_config.html#customlog"
  - ><SAMP>CustomLog</SAMP></A>
  - directives, rather than having to spell out the complete log format
  - string each time.
  -</LI>
  -<LI><STRONG>mod_cern_meta configurable per-directory</STRONG><BR>
  -    <A HREF="mod/mod_cern_meta.html">mod_cern_meta</A> is now configurable
  -    on a per-directory basis.
  -
  -<LI><STRONG>Detaching from stdin/out/err</STRONG><BR>
  -    On boot Apache will now detach from stdin, stdout, and stderr.  It
  -    does not detach from stderr until it has successfully read the config
  -    files.  So you will see errors in the config file.  This should make
  -    it easier to start Apache via rsh or crontab.
  -
  -<LI><STRONG>Improved HTTP/1.1-style Virtual Hosts</STRONG><BR>
  -    The new
  -    <A HREF="mod/core.html#namevirtualhost"><SAMP>NameVirtualHost</SAMP></A>
  -    directive is used to list IP address:port 
  -    pairs on which HTTP/1.1-style virtual hosting occurs.  This is
  -    vhosting based on the <CODE>Host:</CODE> 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 <A HREF="vhosts/index.html">Apache Virtual Host
  -    documentation</A> for further details on configuration.
  +<DT><A HREF="mod/mod_autoindex.html"><B>Enhancements to directory indexing:</B></A>
   
  -<LI><STRONG>API Additions</STRONG><BR>
  -    
  -    For all those module writers and code hackers:
  +<UL>
  +<LI><B>Code split:</B>The <CODE>mod_dir</CODE> module has been split in two, with <A
  +    HREF="mod/mod_dir.html">mod_dir</A> handling directory index
  +    files, and <A HREF="mod/mod_autoindex.html">mod_autoindex</A>
  +    creating directory listings.  Thus allowing folks to remove the
  +    indexing function from critical servers.
   
  -    <UL>
  -    <LI><STRONG><CODE>child_init</CODE> function for module API</STRONG><BR>
  -    A new phase for Apache's API is called once per "heavy-weight process,"
  +<LI><B>Sortable:</B> Clicking on a column title will now sort the 
  +    listing in order by the values in that column.  This feature can
  +    be disabled using the <CODE>SuppressColumnSorting</CODE> <A
  +    HREF="mod/mod_autoindex.html#indexoptions">IndexOptions</A>
  +    keyword.
  +
  +<LI><A HREF="mod/mod_autoindex.html#indexoptions">
  +    <CODE><B>SuppressHTMLPreamble</B></CODE></A> can be used if your
  +    README.html file includes its own HTML header.
  +
  +<LI><B><CODE>IconHeight</CODE> and <CODE>IconWidth</CODE></B> let you set
  +    height and width attributes to the <CODE>&lt;IMG&gt;</CODE> tag in
  +    directory listings.
  +
  +</UL>
  +
  +<DT><B>Less Buffering of CGI Script Output</B>
  +<DD>In previous versions of Apache, the output from CGI scripts would
  +    be internally buffered by the server, and wouldn't be forwarded to
  +    the client until either the buffers were full or the CGI script
  +    completed.  As of Apache 1.3, the buffer to the client is flushed
  +    any time it contains something and the server is waiting for more
  +    information from the script.  This allows CGI script to provide
  +    partial status reports during long processing operations.
  +
  +
  +<DT><B><A HREF="mod/mod_alias.html">Regular Expression support for
  +    <CODE>Alias</CODE> and <CODE>Redirect</CODE></A></B>
  +<DD>New <A HREF="mod/mod_alias.html#aliasmatch"><CODE>AliasMatch</CODE></A>,
  +    <A HREF="mod/mod_alias.html#scriptaliasmatch"><CODE>ScriptAliasMatch</CODE></A>, and
  +    <A HREF="mod/mod_alias.html#redirectmatch"><CODE>RedirectMatch</CODE></A>
  +    directives allow for the use of regular expression matching.
  +    Additionally, new
  +    <A HREF="mod/core.html#directorymatch"><CODE>&lt;DirectoryMatch&gt;</CODE></A>,
  +    <A HREF="mod/core.html#locationmatch"><CODE>&lt;LocationMatch&gt;</CODE></A>,
  +    and
  +    <A HREF="mod/core.html#filesmatch"><CODE>&lt;FilesMatch&gt;</CODE></A>
  +    sections provide a new syntax for regular expression sectioning.
  +
  +<DT><B><A
  +    HREF="mod/mod_info.html#addmoduleinfo"><CODE>AddModuleInfo</CODE></A>
  +    directive added to <A
  +    HREF="mod/mod_info.html">mod_info</A></B>
  +<DD>Allows additional information to be listed along with a specified
  +    module.
  +
  +<DT><B>Absence of any <CODE>TransferLog</CODE> disables 
  +    logging</B>
  +<DD>If no <A HREF="mod/mod_log_config.html#transferlog"
  +    ><CODE>TransferLog</CODE></A> directive is given then no log is
  +    written.  This supports co-existence with other logging modules.
  +
  +<DT><B>Ability to name logging formats</B>
  +<DD>The <A
  +    HREF="mod/mod_log_config.html#logformat"><CODE>LogFormat</CODE></A>
  +    directive has been enhanced to allow you to give nicknames to
  +    specific logging formats.  You can then use these nicknames in
  +    other <CODE>LogFormat</CODE> and <A
  +    HREF="mod/mod_log_config.html#customlog"
  +    ><CODE>CustomLog</CODE></A> directives, rather than having to
  +    spell out the complete log format string each time.
  +
  +<DT><B>mod_cern_meta configurable per-directory</B>
  +<DD><A HREF="mod/mod_cern_meta.html">mod_cern_meta</A> is now
  +    configurable on a per-directory basis.
  +
  +<DT><B>New map types for
  +    <A HREF="mod/mod_rewrite.html#RewriteMap"><CODE>RewriteMap</CODE></A>
  +    directive</B>
  +<DD>The new map types `Randomized Plain Text' and `Internal Function'
  +    were added to the <CODE>RewriteMap</CODE> directive of
  +    mod_rewrite.  They provide two new features: First, you now can
  +    randomly choose a sub-value from a value which was looked-up in a
  +    rewriting map (which is useful when choosing between backend
  +    servers in a Reverse Proxy situation). Second, you now can
  +    translate URL parts to fixed (upper or lower) case (which is
  +    useful when doing mass virtual hosting by the help of
  +    mod_rewrite).
  +
  +<DT><B>CIDR and Netmask access control</B>
  +<DD><A HREF="mod/mod_access.html">mod_access</A> directives now
  +    support CIDR (Classless Inter-Domain Routing) style prefixes, and
  +    netmasks for greater control over IP access lists.
  +
  +</DL>
  +<P><HR>
  +
  +<A NAME="api">
  +<H3>API Additions</H3>
  +</A>
  +
  +<P>For all those module writers and code hackers:
  +
  +<DL>
  +<DT><B><CODE>child_init</CODE></B>
  +<DD>A new phase for Apache's API is called once per "heavy-weight process,"
       before any requests are handled. This allows the module to set up
       anything that need to be done once per processes. For example,
       connections to databases.
   
  -    <LI><STRONG><CODE>child_exit</CODE> function for module API</STRONG><BR>
  -    A new phase called once per "heavy-weight process," when it is
  +<DT><B><CODE>child_exit</CODE></B>
  +<DD>A new phase called once per "heavy-weight process," when it is
       terminating.  Note that it can't be called in some fatal cases (such
       as segfaults and kill -9).  The <CODE>child_init</CODE> and
       <CODE>child_exit</CODE> functions are passed a pool whose lifetime is
  @@ -418,30 +368,27 @@
       the module <CODE>init</CODE> function is passed a pool whose lifetime
       ends when the parent exits or restarts.
   
  -    <LI><STRONG><CODE>child_terminate</CODE></STRONG><BR>
  -    Used in the child to indicate the child should exit after finishing
  +<DT><B><CODE>child_terminate</CODE></B>
  +<DD>Used in the child to indicate the child should exit after finishing
       the current request.
   
  -    <LI><STRONG><CODE>register_other_child</CODE></STRONG><BR>
  -    See <CODE>http_main.h</CODE>.  This is used in the parent to register
  +<DT><B><CODE>register_other_child</CODE></B>
  +<DD>See <CODE>http_main.h</CODE>.  This is used in the parent to register
       a child for monitoring.  The parent will report status to a supplied
       callback function.  This allows modules to create their own children
       which are monitored along with the httpd children.
   
  -    <LI><STRONG><CODE>piped_log</CODE></STRONG><BR>
  -    See <CODE>http_log.h</CODE>.  This API provides the common code for
  +<DT><B><CODE>piped_log</CODE></B>
  +<DD>See <CODE>http_log.h</CODE>.  This API provides the common code for
       implementing piped logs.  In particular it implements a reliable piped
       log on architectures supporting it (<EM>i.e.</EM>, Unix at the moment).
  -
  -    <LI><STRONG>MD5 functions renamed <CODE>ap_*</CODE></STRONG><BR>
  -    MD5 functions renamed to avoid conflicts with other libraries.
   
  -    <LI><STRONG>scoreboard format changed</STRONG><BR>
  -    The scoreboard format is quite different.  It is considered a
  +<DT><B>scoreboard format changed</B>
  +<DD>The scoreboard format is quite different.  It is considered a
       "private" interface in general, so it's only mentioned here as an FYI.
   
  -    <LI><STRONG><CODE>set_last_modified</CODE> split into three</STRONG><BR>
  -    The old function <CODE>set_last_modified</CODE> performed multiple
  +<DT><B><CODE>set_last_modified</CODE> split into three</B>
  +<DD>The old function <CODE>set_last_modified</CODE> performed multiple
       jobs including the setting of the <CODE>Last-Modified</CODE> header, the
       <CODE>ETag</CODE> header, and processing conditional requests (such as
       IMS).  These functions have been split into three functions:
  @@ -450,36 +397,36 @@
       added to <CODE>request_rec</CODE> to facilitate
       <CODE>meets_conditions</CODE>.
   
  -    <LI><STRONG>New error logging function: <CODE>aplog_error</CODE></STRONG><BR>
  -    All old logging functions are deprecated, we are in the process of
  -    replacing them with a single function called <CODE>aplog_error</CODE>.
  +<DT><B>New error logging function: <CODE>ap_log_error</CODE></B>
  +<DD>All old logging functions are deprecated, we are in the process of
  +    replacing them with a single function called <CODE>ap_log_error</CODE>.
       This is still a work in progress.
   
  -    <LI><STRONG><CODE>set_file_slot</CODE> for config parsing</STRONG><BR>
  -    The <CODE>set_file_slot</CODE> routine provides a standard routine that
  +<DT><B><CODE>set_file_slot</CODE> for config parsing</B>
  +<DD>The <CODE>set_file_slot</CODE> routine provides a standard routine that
       prepends ServerRoot to non-absolute paths.
   
  -    <LI><STRONG><CODE>post_read_request</CODE> module API</STRONG><BR>
  -    This request phase occurs immediately after reading the request (headers),
  +<DT><B><CODE>post_read_request</CODE> module API</B>
  +<DD>This request phase occurs immediately after reading the request (headers),
       and immediately after creating an internal redirect.  It is most useful
       for setting environment variables to affect future phases.
   
  -    <LI><STRONG><CODE>psocket</CODE>, and <CODE>popendir</CODE></STRONG><BR>
  -    The <CODE>psocket</CODE> and <CODE>pclosesocket</CODE> functions allow
  +<DT><B><CODE>psocket</CODE>, and <CODE>popendir</CODE></B>
  +<DD>The <CODE>psocket</CODE> and <CODE>pclosesocket</CODE> functions allow
       for race-condition free socket creation with resource tracking.
       Similarly <CODE>popendir</CODE> and <CODE>pclosedir</CODE> protect
       directory reading.
   
  -    <LI><STRONG><CODE>is_initial_req</CODE></STRONG><BR>
  -    Test if the request is the initial request (<EM>i.e.</EM>, the one
  +<DT><B><CODE>is_initial_req</CODE></B>
  +<DD>Test if the request is the initial request (<EM>i.e.</EM>, the one
       coming from the client).
   
  -    <LI><STRONG><CODE>kill_only_once</CODE></STRONG><BR>
  -    An option to <CODE>spawn_child</CODE> functions which prevents Apache
  +<DT><B><CODE>kill_only_once</CODE></B>
  +<DD>An option to <CODE>spawn_child</CODE> functions which prevents Apache
       from aggressively trying to kill off the child.
   
  -    <LI><STRONG><CODE>alloc debugging code</CODE></STRONG><BR>
  -    Defining <CODE>ALLOC_DEBUG</CODE> provides a rudimentary memory
  +<DT><B><CODE>alloc debugging code</CODE></B>
  +<DD>Defining <CODE>ALLOC_DEBUG</CODE> provides a rudimentary memory
       debugger which can be used on live servers with low impact --
       it sets all allocated and freed memory bytes to 0xa5.  Defining
       <CODE>ALLOC_USE_MALLOC</CODE> will cause the alloc code to use
  @@ -488,170 +435,146 @@
       such as Electric Fence and Purify.  See <CODE>main/alloc.c</CODE>
       for more details.
   
  -    <LI><STRONG><CODE>ap_cpystrn</CODE></STRONG><BR>
  -    The new <CODE>strncpy</CODE> "lookalike", with slightly different
  +<DT><B><CODE>ap_cpystrn</CODE></B>
  +<DD>The new <CODE>strncpy</CODE> "lookalike", with slightly different
       semantics is much faster than <CODE>strncpy</CODE> because it
       doesn't have to zero-fill the entire buffer.
   
  -    <LI><STRONG><CODE>table_addn</CODE>, <CODE>table_setn</CODE>,
  -    <CODE>table_mergen</CODE></STRONG><BR>
  -    These new functions do <STRONG>not</STRONG> call <CODE>pstrdup</CODE>
  +<DT><B><CODE>table_addn</CODE>, <CODE>table_setn</CODE>,
  +    <CODE>table_mergen</CODE></B>
  +<DD>These new functions do <B>not</B> call <CODE>pstrdup</CODE>
       on their arguments.  This provides for big speedups.  There is
       also some debugging support to ensure code uses them properly.
       See <CODE>src/CHANGES</CODE> for more information.
   
  -    <LI><STRONG><CODE>construct_url</CODE></STRONG><BR>
  -    The function prototype for this changed from taking a
  +<DT><B><CODE>construct_url</CODE></B>
  +<DD>The function prototype for this changed from taking a
       <CODE>server_rec *</CODE> to taking a <CODE>request_rec *</CODE>.
   
  -    <LI><STRONG><CODE>get_server_name</CODE>, <CODE>get_server_port</CODE></STRONG><BR>
  -    These are wrappers which deal with the
  +<DT><B><CODE>get_server_name</CODE>, <CODE>get_server_port</CODE></B>
  +<DD>These are wrappers which deal with the
       <A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A> directive
       when retrieving the server name and port for a request.
  +</DL>
   
  -    </UL>
  +<P><HR>
   
  - <LI><STRONG>Year-2000 Improvements</STRONG>
  -  <BR>
  -  The default <SAMP>timefmt</SAMP> string used by
  -  <A
  -   HREF="mod/mod_include.html"
  -  ><SAMP>mod_include</SAMP></A>
  -  has been modified to display the year using four digits rather than the
  -  two-digit format used previously.  The
  -  <A
  -   HREF="mod/mod_autoindex.html"
  -  ><SAMP>mod_autoindex</SAMP></A>
  -  module has also been modified to display years using four digits in
  -  FancyIndexed directory listings.
  - </LI>
  -
  - <LI><STRONG><SAMP>ap_*()</SAMP> Routines Moving to a Separate Library</STRONG>
  -  <BR>
  -  There are a number of functions and routines that have been developed
  -  for the Apache project that supplement or supersede library routines
  -  that differ from one operating system to another.  While most of these
  -  are used only by the Apache server itself, some are referenced by
  -  supporting applications (such as <SAMP>htdigest</SAMP>), and these
  -  other applications would fail to build because the routines were built
  -  only into the server.  These routines are now being migrated to a
  -  separate subdirectory and library so they can be used by other
  -  applications than just the server.
  - </LI>
  -
  - <LI><STRONG>New <SAMP><A HREF="mod/core.html#serversignature">ServerSignature</A></SAMP> directive</STRONG>
  -  <BR>
  -  This directive optionally adds a line containing the server version and
  -  virtual host name to server-generated pages (error documents, ftp
  -  directory listings, mod_info output etc.). This makes it easier for users
  -  to tell which server produced the error message, especially in a proxy
  -  chain (often found in intranet environments).
  - </LI>
  -
  - <LI><STRONG>New <SAMP><A HREF="mod/core.html#usecanonicalname">UseCanonicalName</A></SAMP> directive</STRONG>
  -  <BR>
  -  This directive gives control over how Apache creates self-referential URLs.
  -  Previously Apache would always use the <A HREF="mod/core.html#servername">
  -  ServerName</A> and <A HREF="mod/core.html#port">Port</A> directives to
  -  construct a "canonical" name for the server.  With <SAMP>UseCanonicalName
  -  off</SAMP> Apache will use the hostname and port supplied by the client,
  -  if available.
  - </LI>
  -
  - <LI><STRONG>New <SAMP><A HREF="mod/mod_proxy.html#proxypassreverse">ProxyPassReverse</A></SAMP> directive</STRONG>
  -  <BR>
  -  This directive was added in addition to the <SAMP>ProxyPass</SAMP>
  -  directive. It lets Apache adjust the URL in the <TT>Location</TT> header on
  -  HTTP redirect responses. For instance this is essential when Apache is used
  -  as a reverse proxy to avoid by-passing the reverse proxy because of HTTP
  -  redirects on the backend servers which stay behind the reverse proxy.
  - </LI>
  -
  - <LI><STRONG>New map types for
  -  <A HREF="mod/mod_rewrite.html#RewriteMap"><SAMP>RewriteMap</SAMP></A>
  -  directive</STRONG>
  -  <BR>
  -  The new map types `Randomized Plain Text' and `Internal Function' were added
  -  to the <SAMP>RewriteMap</SAMP> directive of mod_rewrite.  They provide two
  -  new features: First, you now can randomly choose a sub-value from a value
  -  which was looked-up in a rewriting map (which is useful when choosing
  -  between backend servers in a Reverse Proxy situation). Second, you now can
  -  translate URL parts to fixed (upper or lower) case (which is useful when
  -  doing mass virtual hosting by the help of mod_rewrite).
  - </LI>
  - <LI><STRONG><SAMP>SERVER_VERSION</SAMP> definition abstracted, and
  -  server build date added</STRONG>
  -  <BR>
  -  In earlier versions, the Apache server version was available to modules
  -  through the <SAMP>#define</SAMP>d value for <SAMP>SERVER_VERSION</SAMP>.
  -  In order to keep this value consistent when modules and the core server
  -  are compiled at different times, this information is now available
  -  through the core API routine
  -  <CODE>const&nbsp;char&nbsp;*apapi_get_server_version()</CODE>.  The use of
  -  the <SAMP>SERVER_VERSION</SAMP> symbol is deprecated and anti-recommended.
  -  In addition, a related datum is now available through the use of the
  -  API routine <CODE>const&nbsp;char&nbsp;*apapi_get_server_built()</CODE>,
  -  which returns a string representing the time the core server was linked.
  - </LI>
  - <LI><STRONG>Apache Autoconf-style Interface (APACI)</STRONG>
  -  <BR>
  -  Until Apache 1.3 there was no real out-of-the-box batch-capable build and
  -  installation procedure for the complete Apache package. This is now provided
  -  by a top-level <CODE>configure</CODE> script and a corresponding top-level
  -  <CODE>Makefile.tmpl</CODE> file. The goal is to provide a GNU Autoconf-style
  -  frontend which is capable to both drive the old <CODE>src/Configure</CODE>
  -  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.
  - </LI>
  - <LI><STRONG>Dynamic Shared Object (DSO) support</STRONG>
  -  <BR>
  -  The support for loading Apache modules under runtime from DSO files was
  -  greatly enhanced: First, <CODE>mod_so</CODE> was cleaned up and the
  -  <CODE>src/Configure</CODE> script was extended to setup the totally
  -  platform-dependend commands to build DSO files on all major Unix platforms
  -  which support the pragmatic <CODE>dlopen()</CODE> interface (Linux, FreeBSD,
  -  Solaris, SunOS, IRIX, OSF1, UnixWare). The two popular platforms HP/UX and
  -  AIX are not supported because they both use a very special proprietary
  -  interface. Second the modules <CODE>mod_proxy</CODE> and
  -  <CODE>mod_mime</CODE> were unbundled to be able to use them independend from
  -  each other.  Finally the Makefile generation stuff in
  -  <CODE>src/Configure</CODE> was overhauled to support building shared objects
  -  as clean as building static objects.  Additionally the new APACI (see below)
  -  provides a powerful mechanism for out-of-the-box enabling, building,
  -  installing and activating those DSO-based modules.
  - </LI>
  - <LI><STRONG>APache eXtenSion (APXS) support tool</STRONG>
  -  <BR>
  -  Now that Apache provides full support for loading modules under runtime from
  -  dynamic shared object (DSO) files, a new support tool <CODE>apxs</CODE> was
  -  created which provides off-source building, installing and activating of
  -  those DSO-based modules. It completely hides the platform-dependend
  -  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 <CODE>apxs</CODE> tool.
  - </LI>
  - <li><strong>-S command line option for debugging vhost setup</strong>
  -  <br>
  -  If Apache is invoked with the <code>-S</code> command line option it will
  -  dump out information regarding how it parsed the <code>VirtualHost</code>
  -  sections.  This is useful for folks trying to debug their virtual host
  -  configuration.
  - </li>
  - <LI><A
  -      HREF="mod/core.html#servertokens"
  -     ><STRONG>Including the operating system in the server
  -      identity</STRONG></A>
  -  <BR>
  -  A new directive, <SAMP>ServerTokens</SAMP>, allows the Webmaster
  -  to change the value of the <SAMP>Server</SAMP> response header
  -  field which is sent back to clients.  The <SAMP>ServerTokens</SAMP>
  -  directive controls whether the server will include a non-specific
  -  note in the server identity about the type of operating system on
  -  which the server is running as well as included module information.
  -  As of Apache 1.3, this additional information is included by default.
  - </LI>
  -</UL>
  +<A NAME="misc">
  +<H3>Miscellanous Enhancements</H3>
  +</A>
  +
  +<DL>
  +<DT><B><A HREF="ebcdic.html">Port to EBCDIC mainframe machine
  +    running BS2000/OSD</A></B>
  +<DD>As a premiere, this version of Apache comes with a beta version of
  +    a port to a mainframe machine which uses the EBCDIC character set
  +    as its native codeset (It is the SIEMENS NIXDORF family of
  +    mainframes running the BS2000/OSD operating system on a IBM/390
  +    compatible processor This mainframe OS nowadays features a
  +    SVR4-like POSIX subsystem).
  +
  +<DT><B><A HREF="mod/core.html#accessfilename"><CODE>AccessFileName</CODE>
  +    Enhancement</A></B>
  +<DD>The <CODE>AccessFileName</CODE> directive can now take more than
  +    one filename. This lets sites serving pages from network file
  +    systems and more than one Apache web server, configure access
  +    based on the server through which shared pages are being served.
  +
  +<DT><B><CODE>HostNameLookups</CODE> now defaults to "Off"</B>
  +<DD>The <A
  +    HREF="mod/core.html#hostnamelookups"><CODE>HostNameLookups</CODE></A>
  +    directive now defaults to "Off". This means that, unless explicitly
  +    turned on, the server will not resolve IP addresses into names. This
  +    was done to spare the Internet from unnecessary DNS traffic.
  +
  +<DT><B>Double-Reverse DNS enforced</B>
  +<DD>The <A
  +    HREF="mod/core.html#hostnamelookups"><CODE>HostnameLookups</CODE></A>
  +    directive now supports double-reverse DNS.  (Known as
  +    <EM>PARANOID</EM> in the terminology of tcp_wrappers.)  An IP
  +    address passes a double-reverse DNS test if the forward map of the
  +    reverse map includes the original IP.  Regardless of the
  +    HostnameLookups setting, <A
  +    HREF="mod/mod_access.html">mod_access</A> access lists using DNS
  +    names <B>require</B> all names to pass a double-reverse
  +    DNS test.  (Prior versions of Apache required a compile-time
  +    switch to enable double-reverse DNS.)
  +
  +<DT><B>LogLevel and syslog support</B>
  +<DD>Apache now has <A HREF="mod/core.html#loglevel">configurable error
  +    logging levels</A> and supports <A
  +    HREF="mod/core.html#errorlog">error logging via syslogd(8)</A>.
  +    
  +<DT><B>Detaching from stdin/out/err</B>
  +<DD>On boot Apache will now detach from stdin, stdout, and stderr.  It
  +    does not detach from stderr until it has successfully read the
  +    config files.  So you will see errors in the config file.  This
  +    should make it easier to start Apache via rsh or crontab.
  +
  +<DT><B>Year-2000 Improvements</B>
  +<DD>The default <CODE>timefmt</CODE> string used by <A
  +    HREF="mod/mod_include.html"><CODE>mod_include</CODE></A> has been
  +    modified to display the year using four digits rather than the
  +    two-digit format used previously.  The <A
  +    HREF="mod/mod_autoindex.html"><CODE>mod_autoindex</CODE></A>
  +    module has also been modified to display years using four digits
  +    in FancyIndexed directory listings.
  +
  +<DT><B>Common routines Moving to a Separate Library</B>
  +<DD>There are a number of functions and routines that have been
  +    developed for the Apache project that supplement or supersede
  +    library routines that differ from one operating system to another.
  +    While most of these are used only by the Apache server itself,
  +    some are referenced by supporting applications (such as
  +    <CODE>htdigest</CODE>), and these other applications would fail to
  +    build because the routines were built only into the server.  These
  +    routines are now being migrated to a separate subdirectory and
  +    library so they can be used by other applications than just the
  +    server.  See the <CODE>src/ap/</CODE> subdirectory.
  +
  +<DT><B>New <CODE><A HREF="mod/core.html#serversignature">
  +    ServerSignature</A></CODE> directive</B>
  +<DD>This directive optionally adds a line containing the server
  +    version and virtual host name to server-generated pages (error
  +    documents, ftp directory listings, mod_info output etc.). This
  +    makes it easier for users to tell which server produced the error
  +    message, especially in a proxy chain (often found in intranet
  +    environments).
  +
  +<DT><B>New <CODE><A HREF="mod/core.html#usecanonicalname">
  +    UseCanonicalName</A></CODE> directive</B>
  +<DD>This directive gives control over how Apache creates
  +    self-referential URLs.  Previously Apache would always use the <A
  +    HREF="mod/core.html#servername"> ServerName</A> and <A
  +    HREF="mod/core.html#port">Port</A> directives to construct a
  +    "canonical" name for the server.  With <CODE>UseCanonicalName
  +    off</CODE> Apache will use the hostname and port supplied by the
  +    client, if available.
  +
  +<DT><B><CODE>SERVER_VERSION</CODE> definition abstracted, and server
  +    build date added</B> 
  +<DD>In earlier versions, the Apache server version was available to
  +    modules through the <CODE>#define</CODE>d value for
  +    <CODE>SERVER_VERSION</CODE>.  In order to keep this value
  +    consistent when modules and the core server are compiled at
  +    different times, this information is now available through the
  +    core API routine <CODE>ap_get_server_version()</CODE>.  The use of
  +    the <CODE>SERVER_VERSION</CODE> symbol is deprecated.  Also,
  +    <CODE>ap_get_server_built()</CODE> returns a string representing
  +    the time the core server was linked.
  + 
  +<DT><A HREF="mod/core.html#servertokens"><B>Including the operating 
  +    system in the server identity</B></A><BR>
  +<DD>A new directive, <CODE>ServerTokens</CODE>, allows the Webmaster
  +    to change the value of the <CODE>Server</CODE> response header
  +    field which is sent back to clients.  The
  +    <CODE>ServerTokens</CODE> directive controls whether the server
  +    will include a non-specific note in the server identity about the
  +    type of operating system on which the server is running as well as
  +    included module information.  As of Apache 1.3, this additional
  +    information is included by default.
  +
  +</DL>
   
   <!--#include virtual="footer.html" -->
   </BODY>