]> granicus.if.org Git - apache/blob - docs/manual/new_features_2_2.xml
Documenting mod_dbd and monitor hook in new_features.
[apache] / docs / manual / new_features_2_2.xml
1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.en.xsl"?>
4 <!-- $LastChangedRevision$ -->
5
6 <!--
7  Copyright 2004-2005 The Apache Software Foundation or its licensors, as
8  applicable.
9
10  Licensed under the Apache License, Version 2.0 (the "License");
11  you may not use this file except in compliance with the License.
12  You may obtain a copy of the License at
13
14      http://www.apache.org/licenses/LICENSE-2.0
15
16  Unless required by applicable law or agreed to in writing, software
17  distributed under the License is distributed on an "AS IS" BASIS,
18  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19  See the License for the specific language governing permissions and
20  limitations under the License.
21 -->
22
23 <manualpage metafile="new_features_2_2.xml.meta">
24
25 <title>Overview of new features in Apache 2.2</title>
26
27 <summary>
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 </summary>
33
34   <section id="core">
35     <title>Core Enhancements</title>
36     <dl>
37
38       <dt>Authn/Authz</dt>
39       <dd>The bundled authentication and authorization modules have
40           been refactored.  There is a new authentication backend provider
41           scheme which greatly eases the construction of new authentication
42           backends.</dd>
43
44       <dt>Caching</dt>
45       <dd><module>mod_cache</module>, <module>mod_disk_cache</module>, and
46           <module>mod_mem_cache</module> have undergone a lot of changes
47           are now considered production-quality. <program>htcacheclean</program>
48           has been introduced to cleanup <module>mod_disk_cache</module>
49           setups.</dd>
50
51       <dt>Proxying</dt>
52       <dd>The new <module>mod_proxy_balancer</module> module provides 
53           load balancing services for <module>mod_proxy</module>.
54           The new <module>mod_proxy_ajp</module> module adds support for the
55           <code>Apache JServ Protocol version 1.3</code> used by 
56           <a href="http://jakarta.apache.org/tomcat/">Apache Tomcat</a>.</dd>
57
58       <dt>Regular Expression Library Updated</dt>
59       <dd>Version 5.0 of the 
60           <a href="http://www.pcre.org/">Perl Compatible Regular Expression
61           Library</a> (PCRE) is now included.</dd>
62
63       <dt>Smart Filtering</dt>
64       <dd><module>mod_filter</module> introduces dynamic configuration
65           to the output filter chain.  It enables filters to be conditionally
66           inserted, based on any Request or Response header or environment
67           variable, and dispenses with the more problematic dependencies and
68           ordering problems in the 2.0 architecture.</dd>
69
70       <dt>Large File Support</dt>
71
72       <dd>httpd is now built with support for files larger than 2Gb on
73           modern 32-bit Unix systems.  Support for handling &gt;2Gb request
74           bodies has also been added.</dd>
75
76       <dt>Event MPM</dt>
77       <dd>The <module>event</module> MPM uses a seperate thread to handle
78           Keep Alive requests and accepting connections.  Keep Alive requests
79           have traditionally required httpd to dedicate a worker to handle it.
80           This dedicated worker could not be used again until the Keep Alive 
81           timeout was reached.</dd>
82
83       <dt>SQL Database Support</dt>
84       <dd><module>mod_dbd</module>, together with the apr_dbd framework,
85           brings direct SQL support to modules that need it.  Supports
86           connection pooling in threaded MPMs.</dd>
87
88     </dl>
89   </section>
90
91   <section id="module">
92     <title>Module Enhancements</title>
93     <dl>
94       <dt><module>mod_authnz_ldap</module></dt>
95       <dd>This module is a port of the 2.0 
96           <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code> 
97           framework.  New features include using LDAP attribute values and 
98           complicated search filters in the 
99           <directive module="core">Require</directive> directive.</dd>
100
101       <dt><module>mod_info</module></dt>
102       <dd>Added a new <code>?config</code> argument which will show
103           the configuration directives as parsed by Apache, including
104           their file name and line number.  The module also 
105           shows the order of all request hooks and additional
106           build information, similar to <code>httpd -V</code>.</dd>
107
108       <dt><module>mod_ssl</module></dt>
109       <!-- Need Info on SSLEngine Support? -->
110       <dd>Added a support for 
111          <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which 
112          allows connections to upgrade from clear text to TLS encryption.</dd>
113     </dl>
114   </section>
115
116   <section id="programs">
117     <title>Program Enhancements</title>
118     <dl>
119       <dt><program>httpd</program></dt>
120       <dd>A new command line option <code>-M</code> has been added that
121       lists all modules that are loaded based on the current
122       configuration. Unlike the <code>-l</code> option, this list
123       includes DSOs loaded via <module>mod_so</module>.</dd>
124     </dl>
125   </section>
126
127   <section id="developer">
128     <title>Module Developer Changes</title>
129     <dl>
130       <dt>APR 1.0 API</dt>
131
132       <dd>Apache 2.2 uses the APR 1.0 API.  All deprecated functions and 
133           symbols have been removed from <code>APR</code> and 
134           <code>APR-Util</code>. For details, see the 
135           <a href="http://apr.apache.org/">APR Website</a>.</dd>
136
137       <dt>Connection Error Logging</dt>
138
139       <dd>A new function, <code>ap_log_cerror</code> has been added to log
140           errors that occure with the client's connection.  When logged, 
141           the message includes the client IP address.</dd>
142
143       <dt>Test Configuration Hook Added</dt>
144
145       <dd>A new hook, <code>test_config</code> has been added to aid
146           modules that want to execute special code only when the user passes
147           <code>-t</code> to <program>httpd</program>.</dd>
148
149       <dt>Set Threaded MPM's Stacksize</dt>
150
151       <dd>A new directive, <code>ThreadStackSize</code> has been added to 
152           set the stack size on all threaded MPMs.  This is required
153           for some third-party modules on platforms with small default
154           thread stack size.</dd>
155
156       <dt>Protocol handling for output filters</dt>
157
158       <dd>In the past, every filter has been responsible for ensuring 
159           that it generates the correct response headers where it affects
160           them.  Filters can now delegate common protocol management to
161           <module>mod_filter</module>, using the
162           <code>ap_register_output_filter_protocol</code> or
163           <code>ap_filter_protocol</code> calls.</dd>
164
165       <dt>Monitor hook added</dt>
166       <dd>Monitor hook enables modules to run regular/scheduled jobs
167           in the parent (root) process.</dd>
168     </dl>
169   </section>
170 </manualpage>