| OVERVIEW OF NEW FEATURES IN APACHE 1.3 |
| |
| New features with this release, as extensions of the Apache functionality |
| For more information, see the documentation included with this release |
| (htdocs/manual/) or http://www.apache.org/docs/ |
| |
| The Apache license has been modified slightly for this version; the |
| change simply prohibits derived products from claiming themselves to |
| be "Apache." |
| |
| In addition to a number of bug fixes and internal performance |
| enhancements, Apache 1.3 has the following specific new user |
| features: |
| |
| *) Support for Windows NT/95 |
| Apache now supports the Windows NT and Windows 95 operating |
| systems, as well as the Unix systems supported in previos |
| 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. |
| |
| *) Regular Expression support for Alias and Redirect |
| New AliasMatch, ScriptAliasMatch, and RedirectMatch directives |
| allow for the use of regular expression matching. Additionally, |
| new <DirectoryMatch>, <LocationMatch>, and <FilesMatch> sections |
| provide a new syntax for regular expression sectioning. |
| |
| *) New "Magic" MIME-typing module |
| A new module, the optional mod_mime_magic, 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. |
| |
| *) Directory indexing modules split |
| The mod_dir module has been split in two, with mod_dir handling |
| directory index files, and mod_autoindex creating directory |
| listings. |
| |
| *) Support for Directory Icon Sizing |
| The mod_autoindex module provides listings of directory contents |
| when appropriate. If the FancyIndexing option is enabled, each |
| file in the list is preceded by an icon representing the content |
| type. In earlier versions of Apache, the HTML IMG 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 |
| IndexOptions directive has two new keywords which allow you to |
| control whether pre-sized IMG tags are used. This can |
| substantially speed up the display of large directory listings. |
| |
| *) AccessFileName Enhancement |
| The <AccessFileName> 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. |
| |
| *) HostNameLookups now defaults to "Off" |
| The HostNameLookups directive now defaults to "Off". This means |
| that, unless explictly turned on, the server will not resolve IP |
| addresses into names. This was done to spare the Internet from |
| unneccessary DNS traffic. |
| |
| *) New child_init function for module API |
| 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. |
| |
| *) New child_exit function for module API |
| A new phase for Apache's API is called prior to termination of |
| a server child, e.g. when max_requests_per_child is reached. |
| This allow for modules to tear down anything that need to be done |
| once per processes. For example, connections to databases. |
| |
| *) Totally overhauled mod_rewrite: |
| First the last officially available release of mod_rewrite (3.0.9) was |
| integrated into the Apache source repository. Additionally to the fact |
| that this fixed some bugs, mod_rewrite now is no longer developed and |
| maintained _externally_ by the original author Ralf S. Engelschall. |
| Instead he has officially joined the Apache Group and gifted the |
| complete sources to it (removed the shared copyright), so further |
| development takes place directly at the Apache Groups source |
| repository. No more version synchronizations are needed in the future. |
| Additionally the rewriting engine was both enhanced and cleaned up by |
| introducing a generic way to interpolate backreferences. The noticeable |
| effect is that one now can use backreferences at nearly any string |
| construction point (RewriteRule subst string, RewriteCond test string, |
| ENV flag key/value, etc.) to access the parts of RewriteRule and |
| RewriteCond patterns via $N and %N. |
| |
| *) Simple transport and i/o hooks in place |
| It is possible to re-define the standalone_main function |
| (with -DSTANDALONE_MAIN) so modules may plugin support for |
| transport protocols other than tcp, e.g. DCE RPC |
| A new slot in the BUFF structure `t_handle' is provided to |
| store the plugin's transport related structures. |
| Support for sfio can be enabled with -DB_SFIO, which allows |
| modules to re-define lowest-level reads and writes so i/o |
| may travel through something other than a tcp socket. |
| In addition, sfio support allows plugin modules to manipulate |
| the output of all modules, e.g. parsing the output of CGI programs. |
| |
| *) New dbmmange script |
| A new Perl5 version of dbmmange allows modification of |
| various databases, Berkley DB, ndbm and gdbm. Security has |
| been tightened such that passwords will no longer be echoed to |
| the terminal, the seed for srand is more random and `add' will not |
| overwrite and existing user, use the new `update' command |
| instead. New commands include the `check' command to check a |
| users' password and the `import' command to convert existing |
| password text-files or dbm files exported with `view'. |
| |
| *) New API function: is_initial_req() |
| The function returns true only for the initial call during a |
| given HTTP request. If the request is a sub-request or |
| internal redirect, the function will return false. |
| |
| *) Apache now ported to a mainframe machine with EBCDIC charset |
| This new port makes apache-1.3 compile and run on a |
| Siemens Nixdorf mainframe running under the BS2000-OSD |
| operating system in the POSIX subsystem. The server is capable |
| of serving either "binary-ASCII" or EBCDIC coded HTML text |
| documents. See the file README.EBCDIC in the src directory; |
| it also explains which modules still need porting (most are ready). |
| |
| *) Apache Autoconf-style Interface (APACI) |
| 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 "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. |
| |
| *) Dynamic Shared Object (DSO) support |
| The support for loading Apache modules under runtime from DSO files was |
| greatly enhanced: First, mod_so was cleaned up and the src/Configure |
| script was extended to setup the totally platform-dependend commands to |
| build DSO files on all major Unix platforms which support the pragmatic |
| dlopen() 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 mod_proxy and mod_mime were unbundled to be able to use them |
| independend from each other. Finally the Makefile generation stuff in |
| src/Configure 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. |
| |
| *) APache eXtenSion (APXS) support tool |
| Now that Apache provides full support for loading modules under runtime |
| from dynamic shared object (DSO) files, a new support tool "apxs" 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 "apxs" tool. |
| |