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.1</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-project/">Documentation</a> > <a href="./">Version 2.1</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="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
23 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
26 <p>This document describes some of the major changes between the
27 2.0 and 2.2 versions of the Apache HTTP Server. For new features since
28 version 1.3, see the <a href="new_features_2_0.html">2.0 new features</a>
31 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Core Enhancements</a></li>
32 <li><img alt="" src="./images/down.gif" /> <a href="#module">Module Enhancements</a></li>
33 <li><img alt="" src="./images/down.gif" /> <a href="#programs">Program Enhancements</a></li>
34 <li><img alt="" src="./images/down.gif" /> <a href="#developer">Module Developer Changes</a></li>
36 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
38 <h2><a name="core" id="core">Core Enhancements</a></h2>
43 <dd>The bundled authentication and authorization modules have
44 been refactored. There is a new authentication backend provider
45 scheme which greatly eases the construction of new authentication
49 <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
50 <code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code> have undergone a lot of changes
51 are now considered production-quality. <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code>
52 has been introduced to cleanup <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code>
55 <dt>Graceful stop</dt>
56 <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
57 <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>
58 to be shutdown gracefully via the
59 <a href="stopping.html#gracefulstop"><code>graceful-stop</code></a>
60 signal. The <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> directive
61 has been added to specify an optional timeout, after which
62 <code class="program"><a href="./programs/httpd.html">httpd</a></code> will terminate regardless of the status
63 of any requests being served.</dd>
66 <dd>The new <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> module provides
67 load balancing services for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
68 The new <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> module adds support for the
69 <code>Apache JServ Protocol version 1.3</code> used by
70 <a href="http://jakarta.apache.org/tomcat/">Apache Tomcat</a>.</dd>
72 <dt>Regular Expression Library Updated</dt>
73 <dd>Version 5.0 of the
74 <a href="http://www.pcre.org/">Perl Compatible Regular Expression
75 Library</a> (PCRE) is now included. <code class="program"><a href="./programs/httpd.html">httpd</a></code> can be
76 configured to use a system installation of PCRE by passing the
77 <code>--with-pcre</code> flag to configure.</dd>
79 <dt>Smart Filtering</dt>
80 <dd><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> introduces dynamic configuration
81 to the output filter chain. It enables filters to be conditionally
82 inserted, based on any Request or Response header or environment
83 variable, and dispenses with the more problematic dependencies and
84 ordering problems in the 2.0 architecture.</dd>
86 <dt>Large File Support</dt>
88 <dd>httpd is now built with support for files larger than 2Gb on
89 modern 32-bit Unix systems. Support for handling >2Gb request
90 bodies has also been added.</dd>
93 <dd>The <code class="module"><a href="./mod/event.html">event</a></code> MPM uses a seperate thread to handle
94 Keep Alive requests and accepting connections. Keep Alive requests
95 have traditionally required httpd to dedicate a worker to handle it.
96 This dedicated worker could not be used again until the Keep Alive
97 timeout was reached.</dd>
99 <dt>SQL Database Support</dt>
100 <dd><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, together with the apr_dbd framework,
101 brings direct SQL support to modules that need it. Supports
102 connection pooling in threaded MPMs.</dd>
105 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
106 <div class="section">
107 <h2><a name="module" id="module">Module Enhancements</a></h2>
110 <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt>
111 <dd>This module is a port of the 2.0
112 <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code>
113 framework. New features include using LDAP attribute values and
114 complicated search filters in the
115 <code class="directive"><a href="./mod/core.html#require">Require</a></code> directive.</dd>
117 <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt>
118 <dd>Added a new <code>?config</code> argument which will show
119 the configuration directives as parsed by Apache, including
120 their file name and line number. The module also
121 shows the order of all request hooks and additional
122 build information, similar to <code>httpd -V</code>.</dd>
124 <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt>
126 <dd>Added a support for
127 <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which
128 allows connections to upgrade from clear text to TLS encryption.</dd>
130 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
131 <div class="section">
132 <h2><a name="programs" id="programs">Program Enhancements</a></h2>
135 <dt><code class="program"><a href="./programs/httpd.html">httpd</a></code></dt>
136 <dd>A new command line option <code>-M</code> has been added that
137 lists all modules that are loaded based on the current
138 configuration. Unlike the <code>-l</code> option, this list
139 includes DSOs loaded via <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.</dd>
141 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
142 <div class="section">
143 <h2><a name="developer" id="developer">Module Developer Changes</a></h2>
146 <dt><a class="glossarylink" href="./glossary.html#apr" title="see glossary">APR</a> 1.0 API</dt>
148 <dd>Apache 2.2 uses the APR 1.0 API. All deprecated functions and
149 symbols have been removed from <code>APR</code> and
150 <code>APR-Util</code>. For details, see the
151 <a href="http://apr.apache.org/">APR Website</a>.</dd>
153 <dt>Connection Error Logging</dt>
155 <dd>A new function, <code>ap_log_cerror</code> has been added to log
156 errors that occure with the client's connection. When logged,
157 the message includes the client IP address.</dd>
159 <dt>Test Configuration Hook Added</dt>
161 <dd>A new hook, <code>test_config</code> has been added to aid
162 modules that want to execute special code only when the user passes
163 <code>-t</code> to <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</dd>
165 <dt>Set Threaded MPM's Stacksize</dt>
167 <dd>A new directive, <code>ThreadStackSize</code> has been added to
168 set the stack size on all threaded MPMs. This is required
169 for some third-party modules on platforms with small default
170 thread stack size.</dd>
172 <dt>Protocol handling for output filters</dt>
174 <dd>In the past, every filter has been responsible for ensuring
175 that it generates the correct response headers where it affects
176 them. Filters can now delegate common protocol management to
177 <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, using the
178 <code>ap_register_output_filter_protocol</code> or
179 <code>ap_filter_protocol</code> calls.</dd>
181 <dt>Monitor hook added</dt>
182 <dd>Monitor hook enables modules to run regular/scheduled jobs
183 in the parent (root) process.</dd>
185 <dt>Regular expression API changes</dt>
187 <dd>The <code>pcreposix.h</code> header is no longer available;
188 it is replaced by the new <code>ap_regex.h</code> header. The
189 POSIX.2 <code>regex.h</code> implementation exposed by the old
190 header is now available under the <code>ap_</code> namespace
191 from <code>ap_regex.h</code>. Calls to <code>regcomp</code>,
192 <code>regexec</code> and so on can be replaced by calls to
193 <code>ap_regcomp</code>, <code>ap_regcomp</code>.</dd>
195 <dt>DBD Framework (SQL Database API)</dt>
197 <dd><p>With Apache 1.x and 2.0, modules requiring an SQL backend
198 had to take responsibility for managing it themselves. Apart
199 from reinventing the wheel, this can be very inefficient, for
200 example when several modules each maintain their own connections.</p>
201 <p>Apache 2.1 and up provides the <code>ap_dbd</code> API for
202 managing database connections (including optimised strategies
203 for threaded and unthreaded MPMs), while APR 1.2 and up provides
204 the <code>apr_dbd</code> API for interacting with the database.</p>
205 <p>New modules SHOULD now use these APIs for all SQL database
206 operations. Existing applications SHOULD be upgraded to use it
207 where feasible, either transparently or as a recommended option
208 to their users.</p></dd>
211 <div class="bottomlang">
212 <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English"> en </a> |
213 <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> |
214 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a></p>
215 </div><div id="footer">
216 <p class="apache">Copyright 1995-2005 The Apache Software Foundation or its licensors, as applicable.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
217 <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>