1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
4 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5 This file is generated from xml source: DO NOT EDIT
6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8 <title>Overview of new features in Apache 2.2 - Apache HTTP Server</title>
9 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
12 <link href="./images/favicon.ico" rel="shortcut icon" /></head>
13 <body id="manual-page"><div id="page-header">
14 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p>
15 <p class="apache">Apache HTTP Server Version 2.3</p>
16 <img alt="" src="./images/feather.gif" /></div>
17 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div>
19 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.3</a></div><div id="page-content"><div id="preamble"><h1>Overview of new features in Apache 2.2</h1>
21 <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English"> en </a> |
22 <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
23 <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
24 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
27 <p>This document describes some of the major changes between the
28 2.0 and 2.2 versions of the Apache HTTP Server. For new features since
29 version 1.3, see the <a href="new_features_2_0.html">2.0 new features</a>
32 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Core Enhancements</a></li>
33 <li><img alt="" src="./images/down.gif" /> <a href="#module">Module Enhancements</a></li>
34 <li><img alt="" src="./images/down.gif" /> <a href="#programs">Program Enhancements</a></li>
35 <li><img alt="" src="./images/down.gif" /> <a href="#developer">Module Developer Changes</a></li>
37 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
39 <h2><a name="core" id="core">Core Enhancements</a></h2>
44 <dd>The bundled authentication and authorization modules have
45 been refactored. The new <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> module
46 can greatly simplify certain authentication configurations.
47 See <a href="#module">module name changes</a>, and
48 <a href="#developer">the developer changes</a> for more
49 information about how these changes affects users and module
53 <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code>, and
54 <code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code> have undergone a lot of changes, and
55 are now considered production-quality. <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code>
56 has been introduced to clean up <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code>
59 <dt>Configuration</dt>
60 <dd>The default configuration layout has been simplified and
61 modularised. Configuration snippets which can be used to
62 enable commonly-used features are now bundled with Apache, and
63 can be easily added to the main server config.</dd>
65 <dt>Graceful stop</dt>
66 <dd>The <code class="module"><a href="./mod/prefork.html">prefork</a></code>, <code class="module"><a href="./mod/worker.html">worker</a></code> and
67 <code class="module"><a href="./mod/event.html">event</a></code> MPMs now allow <code class="program"><a href="./programs/httpd.html">httpd</a></code>
68 to be shutdown gracefully via the
69 <a href="stopping.html#gracefulstop"><code>graceful-stop</code></a>
70 signal. The <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> directive
71 has been added to specify an optional timeout, after which
72 <code class="program"><a href="./programs/httpd.html">httpd</a></code> will terminate regardless of the status
73 of any requests being served.</dd>
76 <dd>The new <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> module provides
77 load balancing services for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
78 The new <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> module adds support for the
79 <code>Apache JServ Protocol version 1.3</code> used by
80 <a href="http://jakarta.apache.org/tomcat/">Apache Tomcat</a>.</dd>
82 <dt>Regular Expression Library Updated</dt>
83 <dd>Version 5.0 of the
84 <a href="http://www.pcre.org/">Perl Compatible Regular Expression
85 Library</a> (PCRE) is now included. <code class="program"><a href="./programs/httpd.html">httpd</a></code> can be
86 configured to use a system installation of PCRE by passing the
87 <code>--with-pcre</code> flag to configure.</dd>
89 <dt>Smart Filtering</dt>
90 <dd><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> introduces dynamic configuration
91 to the output filter chain. It enables filters to be conditionally
92 inserted, based on any Request or Response header or environment
93 variable, and dispenses with the more problematic dependencies and
94 ordering problems in the 2.0 architecture.</dd>
96 <dt>Large File Support</dt>
98 <dd>httpd is now built with support for files larger than 2GB on
99 modern 32-bit Unix systems. Support for handling >2GB request
100 bodies has also been added.</dd>
103 <dd>The <code class="module"><a href="./mod/event.html">event</a></code> MPM uses a seperate thread to handle
104 Keep Alive requests and accepting connections. Keep Alive requests
105 have traditionally required httpd to dedicate a worker to handle it.
106 This dedicated worker could not be used again until the Keep Alive
107 timeout was reached.</dd>
109 <dt>SQL Database Support</dt>
110 <dd><p><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, together with the apr_dbd framework,
111 brings direct SQL support to modules that need it. Supports
112 connection pooling in threaded MPMs.</p>
113 <p><strong>Windows Users</strong> please note that this is not
114 yet included in the standard windows build. If you try to use
115 it on the Windows platform, please let us know how you get on.</p>
119 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
120 <div class="section">
121 <h2><a name="module" id="module">Module Enhancements</a></h2>
125 <dd>Modules in the aaa directory have been renamed and offer
126 better support for digest authentication. For example, mod_auth
127 is now split into <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> and
128 <code class="module"><a href="./mod/mod_auth_file.html">mod_auth_file</a></code>; mod_auth_dbm is now called
129 <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; mod_access has been renamed
130 <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. There is also a new
131 <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> module for simplifying
132 certain authentication configurations.
135 <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt>
136 <dd>This module is a port of the 2.0
137 <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code>
138 framework. New features include using LDAP attribute values and
139 complicated search filters in the
140 <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> directive.</dd>
142 <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt>
143 <dd>Added a new <code>?config</code> argument which will show
144 the configuration directives as parsed by Apache, including
145 their file name and line number. The module also
146 shows the order of all request hooks and additional
147 build information, similar to <code>httpd -V</code>.</dd>
149 <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt>
151 <dd>Added a support for
152 <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which
153 allows connections to upgrade from clear text to TLS encryption.</dd>
155 <dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt>
156 <dd>mod_imap has been renamed to <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> to avoid
160 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
161 <div class="section">
162 <h2><a name="programs" id="programs">Program Enhancements</a></h2>
165 <dt><code class="program"><a href="./programs/httpd.html">httpd</a></code></dt>
166 <dd>A new command line option <code>-M</code> has been added that
167 lists all modules that are loaded based on the current
168 configuration. Unlike the <code>-l</code> option, this list
169 includes DSOs loaded via <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.</dd>
170 <dt><code class="program"><a href="./programs/httxt2dbm.html">httxt2dbm</a></code></dt>
171 <dd>A new program used to generate dbm files from text input,
172 for use in <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
173 with the <code>dbm</code> map type.</dd>
175 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
176 <div class="section">
177 <h2><a name="developer" id="developer">Module Developer Changes</a></h2>
180 <dt><a class="glossarylink" href="./glossary.html#apr" title="see glossary">APR</a> 1.0 API</dt>
182 <dd>Apache 2.2 uses the APR 1.0 API. All deprecated functions and
183 symbols have been removed from <code>APR</code> and
184 <code>APR-Util</code>. For details, see the
185 <a href="http://apr.apache.org/">APR Website</a>.</dd>
188 <dd>The bundled authentication and authorization modules have
189 been renamed along the following lines:
191 <li>mod_auth_* -> Modules that implement an HTTP authentication mechanism</li>
192 <li>mod_authn_* -> Modules that provide a backend authentication provider</li>
193 <li>mod_authz_* -> Modules that implement authorization (or access)</li>
194 <li>mod_authnz_*-> Module that implements both authentication & authorization</li>
196 There is a new authentication backend provider
197 scheme which greatly eases the construction of new authentication
200 <dt>Connection Error Logging</dt>
202 <dd>A new function, <code>ap_log_cerror</code> has been added to log
203 errors that occure with the client's connection. When logged,
204 the message includes the client IP address.</dd>
206 <dt>Test Configuration Hook Added</dt>
208 <dd>A new hook, <code>test_config</code> has been added to aid
209 modules that want to execute special code only when the user passes
210 <code>-t</code> to <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</dd>
212 <dt>Set Threaded MPM's Stacksize</dt>
214 <dd>A new directive, <code>ThreadStackSize</code> has been added to
215 set the stack size on all threaded MPMs. This is required
216 for some third-party modules on platforms with small default
217 thread stack size.</dd>
219 <dt>Protocol handling for output filters</dt>
221 <dd>In the past, every filter has been responsible for ensuring
222 that it generates the correct response headers where it affects
223 them. Filters can now delegate common protocol management to
224 <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, using the
225 <code>ap_register_output_filter_protocol</code> or
226 <code>ap_filter_protocol</code> calls.</dd>
228 <dt>Monitor hook added</dt>
229 <dd>Monitor hook enables modules to run regular/scheduled jobs
230 in the parent (root) process.</dd>
232 <dt>Regular expression API changes</dt>
234 <dd>The <code>pcreposix.h</code> header is no longer available;
235 it is replaced by the new <code>ap_regex.h</code> header. The
236 POSIX.2 <code>regex.h</code> implementation exposed by the old
237 header is now available under the <code>ap_</code> namespace
238 from <code>ap_regex.h</code>. Calls to <code>regcomp</code>,
239 <code>regexec</code> and so on can be replaced by calls to
240 <code>ap_regcomp</code>, <code>ap_regexec</code>.</dd>
242 <dt>DBD Framework (SQL Database API)</dt>
244 <dd><p>With Apache 1.x and 2.0, modules requiring an SQL backend
245 had to take responsibility for managing it themselves. Apart
246 from reinventing the wheel, this can be very inefficient, for
247 example when several modules each maintain their own connections.</p>
248 <p>Apache 2.1 and later provides the <code>ap_dbd</code> API for
249 managing database connections (including optimised strategies
250 for threaded and unthreaded MPMs), while APR 1.2 and later provides
251 the <code>apr_dbd</code> API for interacting with the database.</p>
252 <p>New modules SHOULD now use these APIs for all SQL database
253 operations. Existing applications SHOULD be upgraded to use it
254 where feasible, either transparently or as a recommended option
255 to their users.</p></dd>
258 <div class="bottomlang">
259 <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English"> en </a> |
260 <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> |
261 <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
262 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
263 </div><div id="footer">
264 <p class="apache">Copyright 2007 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
265 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div>