]> granicus.if.org Git - apache/blob - docs/manual/new_features_2_2.html.en
update transformation
[apache] / docs / manual / new_features_2_2.html.en
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
7       -->
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="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
18 <div id="path">
19 <a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP Server</a> &gt; <a href="http://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.3</a></div><div id="page-content"><div id="preamble"><h1>Overview of new features in Apache 2.2</h1>
20 <div class="toplang">
21 <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English">&nbsp;en&nbsp;</a> |
22 <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
23 <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
24 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
25 </div>
26
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>
30      document.</p>
31 </div>
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>
36 </ul></div>
37 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
38 <div class="section">
39 <h2><a name="core" id="core">Core Enhancements</a></h2>
40     
41     <dl>
42
43       <dt>Authn/Authz</dt>
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
50           writers.</dd>
51
52       <dt>Caching</dt>
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>
57           setups.</dd>
58
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>
64
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>
74
75       <dt>Proxying</dt>
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>
81
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>
88
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>
95
96       <dt>Large File Support</dt>
97       <dd>httpd is now built with support for files larger than 2GB on
98           modern 32-bit Unix systems.  Support for handling &gt;2GB request
99           bodies has also been added.</dd>
100
101       <dt>Event MPM</dt>
102       <dd>The <code class="module"><a href="./mod/event.html">event</a></code> MPM uses a separate thread to handle
103           Keep Alive requests and accepting connections.  Keep Alive requests
104           have traditionally required httpd to dedicate a worker to handle it.
105           This dedicated worker could not be used again until the Keep Alive 
106           timeout was reached.</dd>
107
108       <dt>SQL Database Support</dt>
109       <dd><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, together with the apr_dbd framework,
110           brings direct SQL support to modules that need it.  Supports
111           connection pooling in threaded MPMs.</dd>
112
113     </dl>
114   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
115 <div class="section">
116 <h2><a name="module" id="module">Module Enhancements</a></h2>
117     
118     <dl>
119       <dt>Authn/Authz</dt>
120       <dd>Modules in the aaa directory have been renamed and offer
121           better support for digest authentication.  For example, mod_auth
122           is now split into <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> and
123           <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code>; mod_auth_dbm is now called
124           <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; mod_access has been renamed
125           <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>.  There is also a new
126           <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> module for simplifying
127           certain authentication configurations.
128       </dd>
129
130       <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt>
131       <dd>This module is a port of the 2.0 
132           <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code> 
133           framework.  New features include using LDAP attribute values and 
134           complicated search filters in the 
135           <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> directive.</dd>
136
137       <dt><code class="module"><a href="./mod/mod_authz_owner.html">mod_authz_owner</a></code></dt>
138       <dd>A new module that authorizes access to files based
139           on the owner of the file on the file system</dd>
140
141       <dt><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></dt>
142       <dd>A new module that allows configuration blocks to be enabled based on the
143           version number of the running server.</dd>
144
145       <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt>
146       <dd>Added a new <code>?config</code> argument which will show
147           the configuration directives as parsed by Apache, including
148           their file name and line number.  The module also 
149           shows the order of all request hooks and additional
150           build information, similar to <code>httpd -V</code>.</dd>
151
152       <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt>
153       
154       <dd>Added a support for 
155          <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which 
156          allows connections to upgrade from clear text to TLS encryption.</dd>
157
158       <dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt>
159       <dd>mod_imap has been renamed to <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> to avoid
160           user confusion.</dd>
161     </dl>
162
163   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
164 <div class="section">
165 <h2><a name="programs" id="programs">Program Enhancements</a></h2>
166     
167     <dl>
168       <dt><code class="program"><a href="./programs/httpd.html">httpd</a></code></dt>
169       <dd>A new command line option <code>-M</code> has been added that
170       lists all modules that are loaded based on the current
171       configuration. Unlike the <code>-l</code> option, this list
172       includes DSOs loaded via <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.</dd>
173       <dt><code class="program"><a href="./programs/httxt2dbm.html">httxt2dbm</a></code></dt>
174       <dd>A new program used to generate dbm files from text input, 
175           for use in <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
176           with the <code>dbm</code> map type.</dd>
177     </dl>
178   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
179 <div class="section">
180 <h2><a name="developer" id="developer">Module Developer Changes</a></h2>
181     
182     <dl>
183       <dt><a class="glossarylink" href="./glossary.html#apr" title="see glossary">APR</a> 1.0 API</dt>
184
185       <dd>Apache 2.2 uses the APR 1.0 API.  All deprecated functions and 
186           symbols have been removed from <code>APR</code> and 
187           <code>APR-Util</code>. For details, see the 
188           <a href="http://apr.apache.org/">APR Website</a>.</dd>
189
190       <dt>Authn/Authz</dt>
191       <dd>The bundled authentication and authorization modules have
192           been renamed along the following lines:
193           <ul>
194           <li>mod_auth_*  -&gt; Modules that implement an HTTP authentication mechanism</li>
195           <li>mod_authn_* -&gt; Modules that provide a backend authentication provider</li>
196           <li>mod_authz_* -&gt; Modules that implement authorization (or access)</li>
197           <li>mod_authnz_*-&gt; Module that implements both authentication &amp; authorization</li>
198           </ul>
199           There is a new authentication backend provider
200           scheme which greatly eases the construction of new authentication
201           backends.</dd>
202
203       <dt>Connection Error Logging</dt>
204
205       <dd>A new function, <code>ap_log_cerror</code> has been added to log
206           errors that occur with the client's connection.  When logged, 
207           the message includes the client IP address.</dd>
208
209       <dt>Test Configuration Hook Added</dt>
210
211       <dd>A new hook, <code>test_config</code> has been added to aid
212           modules that want to execute special code only when the user passes
213           <code>-t</code> to <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</dd>
214
215       <dt>Set Threaded MPM's Stacksize</dt>
216
217       <dd>A new directive, <code>ThreadStackSize</code> has been added to 
218           set the stack size on all threaded MPMs.  This is required
219           for some third-party modules on platforms with small default
220           thread stack size.</dd>
221
222       <dt>Protocol handling for output filters</dt>
223
224       <dd>In the past, every filter has been responsible for ensuring 
225           that it generates the correct response headers where it affects
226           them.  Filters can now delegate common protocol management to
227           <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, using the
228           <code>ap_register_output_filter_protocol</code> or
229           <code>ap_filter_protocol</code> calls.</dd>
230
231       <dt>Monitor hook added</dt>
232       <dd>Monitor hook enables modules to run regular/scheduled jobs
233           in the parent (root) process.</dd>
234           
235       <dt>Regular expression API changes</dt>
236
237       <dd>The <code>pcreposix.h</code> header is no longer available;
238       it is replaced by the new <code>ap_regex.h</code> header.  The
239       POSIX.2 <code>regex.h</code> implementation exposed by the old
240       header is now available under the <code>ap_</code> namespace
241       from <code>ap_regex.h</code>.  Calls to <code>regcomp</code>, 
242       <code>regexec</code> and so on can be replaced by calls to
243       <code>ap_regcomp</code>, <code>ap_regexec</code>.</dd>
244
245       <dt>DBD Framework (SQL Database API)</dt>
246
247       <dd><p>With Apache 1.x and 2.0, modules requiring an SQL backend
248       had to take responsibility for managing it themselves.  Apart
249       from reinventing the wheel, this can be very inefficient, for
250       example when several modules each maintain their own connections.</p>
251       <p>Apache 2.1 and later provides the <code>ap_dbd</code> API for
252       managing database connections (including optimised strategies
253       for threaded and unthreaded MPMs), while APR 1.2 and later provides
254       the <code>apr_dbd</code> API for interacting with the database.</p>
255       <p>New modules SHOULD now use these APIs for all SQL database
256       operations.  Existing applications SHOULD be upgraded to use it
257       where feasible, either transparently or as a recommended option
258       to their users.</p></dd>
259     </dl>
260   </div></div>
261 <div class="bottomlang">
262 <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English">&nbsp;en&nbsp;</a> |
263 <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
264 <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
265 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a></p>
266 </div><div id="footer">
267 <p class="apache">Copyright 2008 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>
268 <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>
269 </body></html>