OpenBSD-4.6/usr.sbin/httpd/CHANGES

                   OVERVIEW OF NEW FEATURES IN APACHE 1.2

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/

In addition to a number of bug fixes and internal performance
enhancements, Apache 1.2 has the following specific new user
features:


  *) HTTP/1.1 Compliance
       Aside from the optional proxy module (which operates as HTTP/1.0),
       Apache is conditionally compliant with the HTTP/1.1 proposed standard,
       as approved by the IESG and the IETF HTTP working group.
       HTTP/1.1 provides a much-improved protocol, and should allow for
       greater performance and efficiency when transferring files. Apache
       does, however, still work great with HTTP/1.0 browsers.  We are very
       close to being unconditionally compliant; if you note any deviance
       from the proposed standard, please report it as a bug.

  *) eXtended Server Side Includes (XSSI)
       A new set of server-side include directives allows the user to
       better create WWW pages. This includes number of powerful new
       features, such as the ability to set variables and use conditional
       HTML.

  *) File-based and Regex-enabled Directive Sections
       The new <Files> section allows directives to be enabled based on
       full filename, not just directory and URL. In addition, <Files>
       sections can appear in .htaccess files. <Files>, along with
       <Directory> and <Location>, can also now be based on regular
       expressions, not just simple prefix matching.

  *) Browser-based Environment Variables
       Environment variables can now be set based on the User-Agent
       string of the browser. Combined with XSSI, this allows you to
       write browser-based conditional HTML documents.

  *) SetUID CGI Execution 
       Apache now supports the execution of CGI scripts as users other
       than the server user. A number of security checks are built in to
       try and make this as safe as possible.

  *) URL Rewriting Module
       The optional mod_rewrite module is now included. This module can
       provide powerful URL mapping, using regular expressions. There's
       nothing this module can't do!

  *) Enhanced, Configurable Logging
       The optional mod_log_config included with earlier versions of
       Apache is now standard, and has been enhanced to allow logging of
       much more detail about the transaction, and can be used to open
       more than one log at once (each of which can have a different log
       format).

  *) User Tracking (Cookies) Revisions
       The mod_cookies included with previous versions of Apache has been
       renamed mod_usertrack, to more accurately reflect its function
       (some people inadvertently thought it enabled cookie support in
       Apache, which is not true - Apache supports the use of cookies
       directly). It is also now possible to disable the generation of
       cookies, even when the cookie module is compiled in. Also, an
       expiry time can be set on the cookies.

  *) Multiple IPs in <VirtualHost>
       The <VirtualHost> directive can now take more than one IP address
       or hostname. This lets a single vhost handles requests for
       multiple IPs or hostnames.

  *) CGI Debugging Environment
       ScriptLog allows you to now set up a log that records all input
       and output to failed CGI scripts. This includes environment
       variables, input headers, POST data, output, and more. This makes
       CGI scripts much easier to debug.

  *) Resource Limits for CGI Scripts
       New directives allow the limiting of resources used by CGI scripts
       (e.g. max CPU time). This is helpful in preventing 'runaway' CGI
       processes.

  *) Redirect Directive Can Return Alternate Status
       The Redirect directive can return permanent or temporary redirects,
       "Gone" or "See Other" HTTP status. For NCSA-compatibility,
       RedirectTemp and RedirectPermanent are also implemented.

  *) Graceful Restarts
       Apache can re-read the config files and re-open log files without
       terminating transactions in progress.

  *) Simplified Compilation
       The process of configuring Apache for compilation has been
       simplified.

  *) Add or Remove Options
       The Options directive can now add or remove options from those
       currently in force, rather than always replacing them.

  *) Command-line Help
       The -h command-line option now lists all the available directives.

  *) Optional Headers Module to Set or Remove HTTP Headers
       The optional mod_headers module can be used to set custom headers
       in the HTTP response. It can append to existing headers, replace
       them, or remove headers from the response.

  *) Conditional Config Directives
       A new <IfModule> section allows directives to be enabled only if a
       given module is loaded into the server.

  *) Authorization Directives Now Use NCSA-style Syntax
       The AuthUserFile, AuthGroupFile and AuthDigestFile commands now
       have a syntax compatible with the NCSA server.

  *) Optional Proxy Module
       An improved FTP, HTTP, and CONNECT mode SSL proxy is included with
       Apache 1.2. Some of the changes visible to users:
       
              - Improved FTP proxy supporting PASV mode
              - CONNECT mode ports are configurable from a list
              - NoCache * directive for disabling proxy caching
              - Numerous bug fixes

  *) Optional Example Module
       An example module that demonstrates many of the aspects of the
       API is now included with Apache as of version 1.2.  It can be
       used as a base for those who wish to write their own Apache
       modules.