]> granicus.if.org Git - apache/blob - docs/manual/new_features_2_0.xml
XML update.
[apache] / docs / manual / new_features_2_0.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  Licensed to the Apache Software Foundation (ASF) under one or more
8  contributor license agreements.  See the NOTICE file distributed with
9  this work for additional information regarding copyright ownership.
10  The ASF licenses this file to You under the Apache License, Version 2.0
11  (the "License"); you may not use this file except in compliance with
12  the License.  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_0.xml.meta">
24
25 <title>Overview of new features in Apache HTTP Server 2.0</title>
26
27 <summary>
28   <p>This document describes some of the major changes between the
29      1.3 and 2.0 versions of the Apache HTTP Server.</p>
30 </summary>
31
32 <seealso><a href="upgrading.html">Upgrading to 2.0 from 1.3</a></seealso>
33
34   <section id="core">
35     <title>Core Enhancements</title>
36
37     <dl>
38       <dt>Unix Threading</dt>
39
40       <dd>On Unix systems with POSIX threads support, Apache httpd can
41       now run in a hybrid multiprocess, multithreaded mode. This
42       improves scalability for many, but not all configurations.</dd>
43
44       <dt>New Build System</dt>
45
46       <dd>The build system has been rewritten from scratch to be
47       based on <code>autoconf</code> and <code>libtool</code>.
48       This makes Apache httpd's configuration system more similar to
49       that of other packages.</dd>
50
51       <dt>Multiprotocol Support</dt>
52
53       <dd>Apache HTTP Server now has some of the infrastructure in place to
54       support serving multiple protocols. <module>mod_echo</module> has
55       been written as an example.</dd>
56
57       <dt>Better support for non-Unix
58       platforms</dt>
59
60       <dd>Apache HTTP Server 2.0 is faster and more stable on non-Unix
61       platforms such as BeOS, OS/2, and Windows. With the
62       introduction of platform-specific <a
63       href="mpm.html">multi-processing modules</a> (MPMs) and the
64       Apache Portable Runtime (APR), these platforms are now
65       implemented in their native API, avoiding the often buggy and
66       poorly performing POSIX-emulation layers.</dd>
67
68       <dt>New Apache httpd API</dt>
69
70       <dd>The API for modules has changed significantly for 2.0.
71       Many of the module-ordering/-priority problems from 1.3 should
72       be gone. 2.0 does much of this automatically, and module ordering
73       is now done per-hook to allow more flexibility. Also, new calls
74       have been added that provide additional module capabilities
75       without patching the core Apache HTTP Server.</dd>
76
77       <dt>IPv6 Support</dt>
78
79       <dd>On systems where IPv6 is supported by the underlying
80       Apache Portable Runtime library, Apache httpd gets IPv6 listening
81       sockets by default. Additionally, the <directive
82       module="mpm_common">Listen</directive>, <directive module="core"
83       >NameVirtualHost</directive>, and <directive module="core"
84       >VirtualHost</directive> directives support
85       IPv6 numeric address strings (e.g., "<code>Listen
86       [2001:db8::1]:8080</code>").</dd>
87
88       <dt>Filtering</dt>
89
90       <dd>Apache httpd modules may now be written as filters which act on
91       the stream of content as it is delivered to or from the
92       server. This allows, for example, the output of CGI scripts to
93       be parsed for Server Side Include directives using the
94       <code>INCLUDES</code> filter in <module>mod_include</module>. The
95       module <module>mod_ext_filter</module> allows external programs to
96       act as filters in much the same way that CGI programs can act as
97       handlers.</dd>
98
99       <dt>Multilanguage Error Responses</dt>
100
101       <dd>Error response messages to the browser are now provided in
102       several languages, using SSI documents. They may be customized
103       by the administrator to achieve a consistent look and feel.</dd>
104
105       <dt>Simplified configuration</dt>
106
107       <dd>Many confusing directives have been simplified. The often
108       confusing <code>Port</code> and <code>BindAddress</code> directives
109       are gone; only the <directive module="mpm_common">Listen</directive>
110       directive is used for IP address binding; the <directive
111       module="core">ServerName</directive> directive specifies the
112       server name and port number only for redirection and vhost
113       recognition.</dd>
114
115       <dt>Native Windows NT Unicode Support</dt>
116
117       <dd>Apache httpd 2.0 on Windows NT now uses utf-8 for all filename
118       encodings. These directly translate to the underlying Unicode
119       file system, providing multilanguage support for all Windows
120       NT-based installations, including Windows 2000 and Windows XP.
121       <em>This support does not extend to Windows 95, 98 or ME, which
122       continue to use the machine's local codepage for filesystem
123       access.</em></dd>
124
125       <dt>Regular Expression Library Updated</dt>
126
127       <dd>Apache httpd 2.0 includes the <a href="http://www.pcre.org/">Perl
128       Compatible Regular Expression Library</a> (PCRE).  All regular
129       expression evaluation now uses the more powerful Perl 5
130       syntax.</dd>
131
132     </dl>
133   </section>
134
135   <section id="module">
136     <title>Module Enhancements</title>
137
138     <dl>
139       <dt><module>mod_ssl</module></dt>
140
141       <dd>New module in Apache httpd 2.0. This module is an interface
142       to the SSL/TLS encryption protocols provided by
143       OpenSSL.</dd>
144
145       <dt><module>mod_dav</module></dt>
146
147       <dd>New module in Apache httpd 2.0. This module implements the HTTP
148       Distributed Authoring and Versioning (DAV) specification for
149       posting and maintaining web content.</dd>
150
151       <dt><module>mod_deflate</module></dt>
152
153       <dd>New module in Apache httpd 2.0.  This module allows supporting
154       browsers to request that content be compressed before delivery,
155       saving network bandwidth.</dd>
156
157       <dt><module outdated="true">mod_auth_ldap</module></dt>
158
159       <dd>New module in Apache httpd 2.0.41.  This module allows an LDAP
160       database to be used to store credentials for HTTP Basic
161       Authentication.  A companion module, <module>mod_ldap</module>
162       provides connection pooling and results caching.</dd>
163
164       <dt><module>mod_auth_digest</module></dt>
165
166       <dd>Includes additional support for session caching across
167       processes using shared memory.</dd>
168
169       <dt><module>mod_charset_lite</module></dt>
170
171       <dd>New module in Apache httpd 2.0. This experimental module allows
172       for character set translation or recoding.</dd>
173
174       <dt><module>mod_file_cache</module></dt>
175
176       <dd>New module in Apache httpd 2.0. This module includes the
177       functionality of <code>mod_mmap_static</code> in Apache HTTP
178       Server version 1.3, plus adds further caching abilities.</dd>
179
180       <dt><module>mod_headers</module></dt>
181
182       <dd>This module is much more flexible in Apache httpd 2.0. It can now
183       modify request headers used by <module>mod_proxy</module>, and
184       it can conditionally set response headers.</dd>
185
186       <dt><module>mod_proxy</module></dt>
187
188       <dd>The proxy module has been completely rewritten to take
189       advantage of the new filter infrastructure and to implement a
190       more reliable, HTTP/1.1 compliant proxy. In addition, new
191       <directive module="mod_proxy" type="section">Proxy</directive>
192       configuration sections provide more readable (and internally
193       faster) control of proxied sites; overloaded <code>&lt;Directory
194       "proxy:..."&gt;</code> configuration are not supported. The module
195       is now divided into specific protocol support modules including
196       <code>proxy_connect</code>, <code>proxy_ftp</code> and
197       <code>proxy_http</code>.</dd>
198
199       <dt><module>mod_negotiation</module></dt>
200
201       <dd>A new <directive module="mod_negotiation"
202       >ForceLanguagePriority</directive> directive can be used to assure that
203       the client receives a single document in all cases, rather than
204       NOT ACCEPTABLE or MULTIPLE CHOICES responses. In addition, the
205       negotiation and MultiViews algorithms have been cleaned up to
206       provide more consistent results and a new form of type map that
207       can include document content is provided.</dd>
208
209       <dt><module>mod_autoindex</module></dt>
210
211       <dd>Autoindex'ed directory listings can now be configured to
212       use HTML tables for cleaner formatting, and allow finer-grained
213       control of sorting, including version-sorting, and wildcard
214       filtering of the directory listing.</dd>
215
216       <dt><module>mod_include</module></dt>
217
218       <dd>New directives allow the default start and end tags for SSI elements
219       to be changed and allow for error and time format configuration
220       to take place in the main configuration file rather than in the
221       SSI document. Results from regular expression parsing and grouping
222       (now based on Perl's regular expression syntax) can be retrieved
223       using <module>mod_include</module>'s variables <code>$0</code>
224       .. <code>$9</code>.</dd>
225
226       <dt><module outdated="true">mod_auth_dbm</module></dt>
227
228       <dd>Now supports multiple types of DBM-like databases using the
229       <directive>AuthDBMType</directive> directive.</dd>
230
231     </dl>
232   </section>
233 </manualpage>