]> granicus.if.org Git - apache/blob - docs/manual/new_features_2_2.html.en
Update transformations.
[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 HTTP Server 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 HTTP Server 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> |
25 <a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
26 </div>
27
28   <p>This document describes some of the major changes between the
29      2.0 and 2.2 versions of the Apache HTTP Server. For new features since
30      version 1.3, see the <a href="new_features_2_0.html">2.0 new features</a>
31      document.</p>
32 </div>
33 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Core Enhancements</a></li>
34 <li><img alt="" src="./images/down.gif" /> <a href="#module">Module Enhancements</a></li>
35 <li><img alt="" src="./images/down.gif" /> <a href="#programs">Program Enhancements</a></li>
36 <li><img alt="" src="./images/down.gif" /> <a href="#developer">Module Developer Changes</a></li>
37 </ul></div>
38 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
39 <div class="section">
40 <h2><a name="core" id="core">Core Enhancements</a></h2>
41     
42     <dl>
43
44       <dt>Authn/Authz</dt>
45       <dd>The bundled authentication and authorization modules have
46           been refactored.  The new mod_authn_alias(already removed from 2.3/2.4)
47           module can greatly simplify certain authentication configurations.
48           See <a href="#module">module name changes</a>, and
49           <a href="#developer">the developer changes</a> for more
50           information about how these changes affects users and module
51           writers.</dd>
52
53       <dt>Caching</dt>
54       <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code>, and
55           mod_mem_cache(already removed from 2.3/2.4) have undergone a lot of changes, and
56           are now considered production-quality. <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code>
57           has been introduced to clean up <code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code>
58           setups.</dd>
59
60       <dt>Configuration</dt>
61       <dd>The default configuration layout has been simplified and
62           modularised. Configuration snippets which can be used to
63           enable commonly-used features are now bundled with Apache, and
64           can be easily added to the main server config.</dd>
65
66       <dt>Graceful stop</dt>
67       <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
68           <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>
69           to be shutdown gracefully via the
70           <a href="stopping.html#gracefulstop"><code>graceful-stop</code></a>
71           signal. The <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> directive
72           has been added to specify an optional timeout, after which
73           <code class="program"><a href="./programs/httpd.html">httpd</a></code> will terminate regardless of the status
74           of any requests being served.</dd>
75
76       <dt>Proxying</dt>
77       <dd>The new <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> module provides
78           load balancing services for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.
79           The new <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> module adds support for the
80           <code>Apache JServ Protocol version 1.3</code> used by
81           <a href="http://jakarta.apache.org/tomcat/">Apache Tomcat</a>.</dd>
82
83       <dt>Regular Expression Library Updated</dt>
84       <dd>Version 5.0 of the
85           <a href="http://www.pcre.org/">Perl Compatible Regular Expression
86           Library</a> (PCRE) is now included.  <code class="program"><a href="./programs/httpd.html">httpd</a></code> can be
87           configured to use a system installation of PCRE by passing the
88           <code>--with-pcre</code> flag to configure.</dd>
89
90       <dt>Smart Filtering</dt>
91       <dd><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> introduces dynamic configuration
92           to the output filter chain.  It enables filters to be conditionally
93           inserted, based on any Request or Response header or environment
94           variable, and dispenses with the more problematic dependencies and
95           ordering problems in the 2.0 architecture.</dd>
96
97       <dt>Large File Support</dt>
98       <dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> is now built with support for files larger
99           than 2GB on modern 32-bit Unix systems.  Support for handling
100           &gt;2GB request bodies has also been added.</dd>
101
102       <dt>Event MPM</dt>
103       <dd>The <code class="module"><a href="./mod/event.html">event</a></code> MPM uses a separate 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>
108
109       <dt>SQL Database Support</dt>
110       <dd><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, together with the <code>apr_dbd</code>
111           framework, brings direct SQL support to modules that need it.
112           Supports connection pooling in threaded MPMs.</dd>
113
114     </dl>
115   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
116 <div class="section">
117 <h2><a name="module" id="module">Module Enhancements</a></h2>
118     
119     <dl>
120       <dt>Authn/Authz</dt>
121       <dd>Modules in the aaa directory have been renamed and offer
122           better support for digest authentication.  For example,
123           <code>mod_auth</code> is now split into
124           <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> and
125           <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code>; <code>mod_auth_dbm</code> is now
126           called <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; <code>mod_access</code> has
127           been renamed <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>.  There is also a new
128           mod_authn_alias(already removed from 2.3/2.4) module for simplifying
129           certain authentication configurations.
130       </dd>
131
132       <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt>
133       <dd>This module is a port of the 2.0
134           <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code>
135           framework.  New features include using LDAP attribute values and
136           complicated search filters in the
137           <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> directive.</dd>
138
139       <dt><code class="module"><a href="./mod/mod_authz_owner.html">mod_authz_owner</a></code></dt>
140       <dd>A new module that authorizes access to files based
141           on the owner of the file on the file system</dd>
142
143       <dt><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></dt>
144       <dd>A new module that allows configuration blocks to be enabled based on the
145           version number of the running server.</dd>
146
147       <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt>
148       <dd>Added a new <code>?config</code> argument which will show
149           the configuration directives as parsed by Apache, including
150           their file name and line number.  The module also
151           shows the order of all request hooks and additional
152           build information, similar to <code>httpd -V</code>.</dd>
153
154       <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt>
155       
156       <dd>Added a support for
157          <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which
158          allows connections to upgrade from clear text to TLS encryption.</dd>
159
160       <dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt>
161       <dd><code>mod_imap</code> has been renamed to
162           <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> to avoid user confusion.</dd>
163     </dl>
164
165   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
166 <div class="section">
167 <h2><a name="programs" id="programs">Program Enhancements</a></h2>
168     
169     <dl>
170       <dt><code class="program"><a href="./programs/httpd.html">httpd</a></code></dt>
171       <dd>A new command line option <code>-M</code> has been added that
172       lists all modules that are loaded based on the current
173       configuration. Unlike the <code>-l</code> option, this list
174       includes DSOs loaded via <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.</dd>
175
176       <dt><code class="program"><a href="./programs/httxt2dbm.html">httxt2dbm</a></code></dt>
177       <dd>A new program used to generate dbm files from text input,
178           for use in <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code>
179           with the <code>dbm</code> map type.</dd>
180     </dl>
181   </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
182 <div class="section">
183 <h2><a name="developer" id="developer">Module Developer Changes</a></h2>
184     
185     <dl>
186       <dt><a class="glossarylink" href="./glossary.html#apr" title="see glossary">APR</a> 1.0 API</dt>
187
188       <dd>Apache 2.2 uses the APR 1.0 API.  All deprecated functions and
189           symbols have been removed from <code>APR</code> and
190           <code>APR-Util</code>. For details, see the
191           <a href="http://apr.apache.org/">APR Website</a>.</dd>
192
193       <dt>Authn/Authz</dt>
194       <dd>The bundled authentication and authorization modules have
195           been renamed along the following lines:
196           <ul>
197           <li><code>mod_auth_*</code>  -&gt; Modules that implement an HTTP
198           authentication mechanism</li>
199           <li><code>mod_authn_*</code> -&gt; Modules that provide a backend
200           authentication provider</li>
201           <li><code>mod_authz_*</code> -&gt; Modules that implement
202           authorization (or access)</li>
203           <li><code>mod_authnz_*</code> -&gt; Module that implements both
204           authentication &amp; authorization</li>
205           </ul>
206           There is a new authentication backend provider
207           scheme which greatly eases the construction of new authentication
208           backends.</dd>
209
210       <dt>Connection Error Logging</dt>
211
212       <dd>A new function, <code>ap_log_cerror</code> has been added to log
213           errors that occur with the client's connection.  When logged,
214           the message includes the client IP address.</dd>
215
216       <dt>Test Configuration Hook Added</dt>
217
218       <dd>A new hook, <code>test_config</code> has been added to aid
219           modules that want to execute special code only when the user passes
220           <code>-t</code> to <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</dd>
221
222       <dt>Set Threaded MPM's Stacksize</dt>
223
224       <dd>A new directive, <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> has been added to
225           set the stack size on all threaded MPMs.  This is required
226           for some third-party modules on platforms with small default
227           thread stack size.</dd>
228
229       <dt>Protocol handling for output filters</dt>
230
231       <dd>In the past, every filter has been responsible for ensuring
232           that it generates the correct response headers where it affects
233           them.  Filters can now delegate common protocol management to
234           <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, using the
235           <code>ap_register_output_filter_protocol</code> or
236           <code>ap_filter_protocol</code> calls.</dd>
237
238       <dt>Monitor hook added</dt>
239       <dd>Monitor hook enables modules to run regular/scheduled jobs
240           in the parent (root) process.</dd>
241
242       <dt>Regular expression API changes</dt>
243
244       <dd>The <code>pcreposix.h</code> header is no longer available;
245       it is replaced by the new <code>ap_regex.h</code> header.  The
246       POSIX.2 <code>regex.h</code> implementation exposed by the old
247       header is now available under the <code>ap_</code> namespace
248       from <code>ap_regex.h</code>.  Calls to <code>regcomp</code>,
249       <code>regexec</code> and so on can be replaced by calls to
250       <code>ap_regcomp</code>, <code>ap_regexec</code>.</dd>
251
252       <dt>DBD Framework (SQL Database API)</dt>
253
254       <dd><p>With Apache 1.x and 2.0, modules requiring an SQL backend
255       had to take responsibility for managing it themselves.  Apart
256       from reinventing the wheel, this can be very inefficient, for
257       example when several modules each maintain their own connections.</p>
258
259       <p>Apache 2.1 and later provides the <code>ap_dbd</code> API for
260       managing database connections (including optimised strategies
261       for threaded and unthreaded MPMs), while APR 1.2 and later provides
262       the <code>apr_dbd</code> API for interacting with the database.</p>
263
264       <p>New modules SHOULD now use these APIs for all SQL database
265       operations.  Existing applications SHOULD be upgraded to use it
266       where feasible, either transparently or as a recommended option
267       to their users.</p></dd>
268     </dl>
269   </div></div>
270 <div class="bottomlang">
271 <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English">&nbsp;en&nbsp;</a> |
272 <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
273 <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
274 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)">&nbsp;pt-br&nbsp;</a> |
275 <a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe">&nbsp;tr&nbsp;</a></p>
276 </div><div id="footer">
277 <p class="apache">Copyright 2011 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>
278 <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>
279 </body></html>