github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_2_34/manual/new_features_2_2.html.en (about) 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 <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type" /> 5 <!-- 6 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 7 This file is generated from xml source: DO NOT EDIT 8 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 9 --> 10 <title>Overview of new features in Apache 2.2 - Apache HTTP Server Version 2.2</title> 11 <link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> 12 <link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> 13 <link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="./style/css/prettify.css" /> 14 <script src="./style/scripts/prettify.min.js" type="text/javascript"> 15 </script> 16 17 <link href="./images/favicon.ico" rel="shortcut icon" /><link href="http://httpd.apache.org/docs/current/new_features_2_2.html" rel="canonical" /></head> 18 <body id="manual-page"><div id="page-header"> 19 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p> 20 <p class="apache">Apache HTTP Server Version 2.2</p> 21 <img alt="" src="./images/feather.gif" /></div> 22 <div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> 23 <div id="path"> 24 <a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">HTTP Server</a> > <a href="http://httpd.apache.org/docs/">Documentation</a> > <a href="./">Version 2.2</a></div><div id="page-content"><div class="retired"><h4>Please note</h4> 25 <p> This document refers to a legacy release (<strong>2.2</strong>) of Apache httpd. The active release (<strong>2.4</strong>) is documented <a href="http://httpd.apache.org/docs/current">here</a>. If you have not already upgraded, please follow <a href="http://httpd.apache.org/docs/current/upgrading.html">this link</a> for more information.</p> 26 <p>You may follow <a href="http://httpd.apache.org/docs/current/new_features_2_2.html">this link</a> to go to the current version of this document.</p></div><div id="preamble"><h1>Overview of new features in Apache 2.2</h1> 27 <div class="toplang"> 28 <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English"> en </a> | 29 <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 30 <a href="./ja/new_features_2_2.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 31 <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 32 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | 33 <a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> 34 </div> 35 36 <p>This document describes some of the major changes between the 37 2.0 and 2.2 versions of the Apache HTTP Server. For new features since 38 version 1.3, see the <a href="new_features_2_0.html">2.0 new features</a> 39 document.</p> 40 </div> 41 <div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Core Enhancements</a></li> 42 <li><img alt="" src="./images/down.gif" /> <a href="#module">Module Enhancements</a></li> 43 <li><img alt="" src="./images/down.gif" /> <a href="#programs">Program Enhancements</a></li> 44 <li><img alt="" src="./images/down.gif" /> <a href="#developer">Module Developer Changes</a></li> 45 </ul><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div> 46 <div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> 47 <div class="section"> 48 <h2><a name="core" id="core">Core Enhancements</a></h2> 49 50 <dl> 51 52 <dt>Authn/Authz</dt> 53 <dd>The bundled authentication and authorization modules have 54 been refactored. The new <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> module 55 can greatly simplify certain authentication configurations. 56 See <a href="#module">module name changes</a>, and 57 <a href="#developer">the developer changes</a> for more 58 information about how these changes affects users and module 59 writers.</dd> 60 61 <dt>Caching</dt> 62 <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 63 <code class="module"><a href="./mod/mod_mem_cache.html">mod_mem_cache</a></code> have undergone a lot of changes, and 64 are now considered production-quality. <code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code> 65 has been introduced to clean up <code class="module"><a href="./mod/mod_disk_cache.html">mod_disk_cache</a></code> 66 setups.</dd> 67 68 <dt>Configuration</dt> 69 <dd>The default configuration layout has been simplified and 70 modularised. Configuration snippets which can be used to 71 enable commonly-used features are now bundled with Apache, and 72 can be easily added to the main server config.</dd> 73 74 <dt>Graceful stop</dt> 75 <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 76 <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> 77 to be shutdown gracefully via the 78 <a href="stopping.html#gracefulstop"><code>graceful-stop</code></a> 79 signal. The <code class="directive"><a href="./mod/mpm_common.html#gracefulshutdowntimeout">GracefulShutdownTimeout</a></code> directive 80 has been added to specify an optional timeout, after which 81 <code class="program"><a href="./programs/httpd.html">httpd</a></code> will terminate regardless of the status 82 of any requests being served.</dd> 83 84 <dt>Proxying</dt> 85 <dd>The new <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> module provides 86 load balancing services for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>. 87 The new <code class="module"><a href="./mod/mod_proxy_ajp.html">mod_proxy_ajp</a></code> module adds support for the 88 <code>Apache JServ Protocol version 1.3</code> used by 89 <a href="http://tomcat.apache.org/">Apache Tomcat</a>.</dd> 90 91 <dt>Regular Expression Library Updated</dt> 92 <dd>Version 5.0 of the 93 <a href="http://www.pcre.org/">Perl Compatible Regular Expression 94 Library</a> (PCRE) is now included. <code class="program"><a href="./programs/httpd.html">httpd</a></code> can be 95 configured to use a system installation of PCRE by passing the 96 <code>--with-pcre</code> flag to configure.</dd> 97 98 <dt>Smart Filtering</dt> 99 <dd><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code> introduces dynamic configuration 100 to the output filter chain. It enables filters to be conditionally 101 inserted, based on any Request or Response header or environment 102 variable, and dispenses with the more problematic dependencies and 103 ordering problems in the 2.0 architecture.</dd> 104 105 <dt>Large File Support</dt> 106 107 <dd><code class="program"><a href="./programs/httpd.html">httpd</a></code> is now built with support for files larger 108 than 2GB on modern 32-bit Unix systems. Support for handling 109 >2GB request bodies has also been added.</dd> 110 111 <dt>Event MPM</dt> 112 <dd>The <code class="module"><a href="./mod/event.html">event</a></code> MPM uses a separate thread to handle 113 Keep Alive requests and accepting connections. Keep Alive requests 114 have traditionally required httpd to dedicate a worker to handle it. 115 This dedicated worker could not be used again until the Keep Alive 116 timeout was reached.</dd> 117 118 <dt>SQL Database Support</dt> 119 <dd><p><code class="module"><a href="./mod/mod_dbd.html">mod_dbd</a></code>, together with the <code>apr_dbd</code> 120 framework, brings direct SQL support to modules that need it. 121 Supports connection pooling in threaded MPMs.</p> 122 </dd> 123 124 </dl> 125 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> 126 <div class="section"> 127 <h2><a name="module" id="module">Module Enhancements</a></h2> 128 129 <dl> 130 <dt>Authn/Authz</dt> 131 <dd>Modules in the aaa directory have been renamed and offer 132 better support for digest authentication. For example, 133 <code>mod_auth</code> is now split into 134 <code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code> and 135 <code class="module"><a href="./mod/mod_authn_file.html">mod_authn_file</a></code>; <code>mod_auth_dbm</code> is now 136 called <code class="module"><a href="./mod/mod_authn_dbm.html">mod_authn_dbm</a></code>; <code>mod_access</code> has 137 been renamed <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. There is also a new 138 <code class="module"><a href="./mod/mod_authn_alias.html">mod_authn_alias</a></code> module for simplifying 139 certain authentication configurations. 140 </dd> 141 142 <dt><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt> 143 <dd>This module is a port of the 2.0 144 <code>mod_auth_ldap</code> module to the 2.2 <code>Authn/Authz</code> 145 framework. New features include using LDAP attribute values and 146 complicated search filters in the 147 <code class="directive"><a href="./mod/core.html#require">Require</a></code> directive.</dd> 148 149 <dt><code class="module"><a href="./mod/mod_authz_owner.html">mod_authz_owner</a></code></dt> 150 <dd>A new module that authorizes access to files based 151 on the owner of the file on the file system</dd> 152 153 <dt><code class="module"><a href="./mod/mod_version.html">mod_version</a></code></dt> 154 <dd>A new module that allows configuration blocks to be enabled based on the 155 version number of the running server.</dd> 156 157 <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt> 158 <dd>Added a new <code>?config</code> argument which will show 159 the configuration directives as parsed by Apache, including 160 their file name and line number. The module also 161 shows the order of all request hooks and additional 162 build information, similar to <code>httpd -V</code>.</dd> 163 164 <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt> 165 166 <dd>Added a support for 167 <a href="http://www.ietf.org/rfc/rfc2817.txt">RFC 2817</a>, which 168 allows connections to upgrade from clear text to TLS encryption.</dd> 169 170 <dt><code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code></dt> 171 <dd><code>mod_imap</code> has been renamed to 172 <code class="module"><a href="./mod/mod_imagemap.html">mod_imagemap</a></code> to avoid user confusion.</dd> 173 </dl> 174 175 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> 176 <div class="section"> 177 <h2><a name="programs" id="programs">Program Enhancements</a></h2> 178 179 <dl> 180 <dt><code class="program"><a href="./programs/httpd.html">httpd</a></code></dt> 181 <dd>A new command line option <code>-M</code> has been added that 182 lists all modules that are loaded based on the current 183 configuration. Unlike the <code>-l</code> option, this list 184 includes DSOs loaded via <code class="module"><a href="./mod/mod_so.html">mod_so</a></code>.</dd> 185 186 <dt><code class="program"><a href="./programs/httxt2dbm.html">httxt2dbm</a></code></dt> 187 <dd>A new program used to generate dbm files from text input, 188 for use in <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> 189 with the <code>dbm</code> map type.</dd> 190 </dl> 191 </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> 192 <div class="section"> 193 <h2><a name="developer" id="developer">Module Developer Changes</a></h2> 194 195 <dl> 196 <dt><a class="glossarylink" href="./glossary.html#apr" title="see glossary">APR</a> 1.0 API</dt> 197 198 <dd>Apache 2.2 uses the APR 1.0 API. All deprecated functions and 199 symbols have been removed from <code>APR</code> and 200 <code>APR-Util</code>. For details, see the 201 <a href="http://apr.apache.org/">APR Website</a>.</dd> 202 203 <dt>Authn/Authz</dt> 204 <dd>The bundled authentication and authorization modules have 205 been renamed along the following lines: 206 <ul> 207 <li><code>mod_auth_*</code> -> Modules that implement an HTTP 208 authentication mechanism</li> 209 <li><code>mod_authn_*</code> -> Modules that provide a backend 210 authentication provider</li> 211 <li><code>mod_authz_*</code> -> Modules that implement 212 authorization (or access)</li> 213 <li><code>mod_authnz_*</code> -> Module that implements both 214 authentication & authorization</li> 215 </ul> 216 There is a new authentication backend provider 217 scheme which greatly eases the construction of new authentication 218 backends.</dd> 219 220 <dt>Connection Error Logging</dt> 221 222 <dd>A new function, <code>ap_log_cerror</code> has been added to log 223 errors that occur with the client's connection. When logged, 224 the message includes the client IP address.</dd> 225 226 <dt>Test Configuration Hook Added</dt> 227 228 <dd>A new hook, <code>test_config</code> has been added to aid 229 modules that want to execute special code only when the user passes 230 <code>-t</code> to <code class="program"><a href="./programs/httpd.html">httpd</a></code>.</dd> 231 232 <dt>Set Threaded MPM's Stacksize</dt> 233 234 <dd>A new directive, <code class="directive"><a href="./mod/mpm_common.html#threadstacksize">ThreadStackSize</a></code> has been added to 235 set the stack size on all threaded MPMs. This is required 236 for some third-party modules on platforms with small default 237 thread stack size.</dd> 238 239 <dt>Protocol handling for output filters</dt> 240 241 <dd>In the past, every filter has been responsible for ensuring 242 that it generates the correct response headers where it affects 243 them. Filters can now delegate common protocol management to 244 <code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>, using the 245 <code>ap_register_output_filter_protocol</code> or 246 <code>ap_filter_protocol</code> calls.</dd> 247 248 <dt>Monitor hook added</dt> 249 <dd>Monitor hook enables modules to run regular/scheduled jobs 250 in the parent (root) process.</dd> 251 252 <dt>Regular expression API changes</dt> 253 254 <dd>The <code>pcreposix.h</code> header is no longer available; 255 it is replaced by the new <code>ap_regex.h</code> header. The 256 POSIX.2 <code>regex.h</code> implementation exposed by the old 257 header is now available under the <code>ap_</code> namespace 258 from <code>ap_regex.h</code>. Calls to <code>regcomp</code>, 259 <code>regexec</code> and so on can be replaced by calls to 260 <code>ap_regcomp</code>, <code>ap_regexec</code>.</dd> 261 262 <dt>DBD Framework (SQL Database API)</dt> 263 264 <dd><p>With Apache 1.x and 2.0, modules requiring an SQL backend 265 had to take responsibility for managing it themselves. Apart 266 from reinventing the wheel, this can be very inefficient, for 267 example when several modules each maintain their own connections.</p> 268 269 <p>Apache 2.1 and later provides the <code>ap_dbd</code> API for 270 managing database connections (including optimised strategies 271 for threaded and unthreaded MPMs), while APR 1.2 and later provides 272 the <code>apr_dbd</code> API for interacting with the database.</p> 273 274 <p>New modules SHOULD now use these APIs for all SQL database 275 operations. Existing applications SHOULD be upgraded to use it 276 where feasible, either transparently or as a recommended option 277 to their users.</p></dd> 278 </dl> 279 </div></div> 280 <div class="bottomlang"> 281 <p><span>Available Languages: </span><a href="./en/new_features_2_2.html" title="English"> en </a> | 282 <a href="./fr/new_features_2_2.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | 283 <a href="./ja/new_features_2_2.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 284 <a href="./ko/new_features_2_2.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 285 <a href="./pt-br/new_features_2_2.html" hreflang="pt-br" rel="alternate" title="Português (Brasil)"> pt-br </a> | 286 <a href="./tr/new_features_2_2.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> 287 </div><div class="top"><a href="#page-header"><img src="./images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comments</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div> 288 <script type="text/javascript"><!--//--><![CDATA[//><!-- 289 var comments_shortname = 'httpd'; 290 var comments_identifier = 'http://httpd.apache.org/docs/2.2/new_features_2_2.html'; 291 (function(w, d) { 292 if (w.location.hostname.toLowerCase() == "httpd.apache.org") { 293 d.write('<div id="comments_thread"><\/div>'); 294 var s = d.createElement('script'); 295 s.type = 'text/javascript'; 296 s.async = true; 297 s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; 298 (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); 299 } 300 else { 301 d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); 302 } 303 })(window, document); 304 //--><!]]></script></div><div id="footer"> 305 <p class="apache">Copyright 2017 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> 306 <p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/directives.html">Directives</a> | <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossary</a> | <a href="./sitemap.html">Sitemap</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!-- 307 if (typeof(prettyPrint) !== 'undefined') { 308 prettyPrint(); 309 } 310 //--><!]]></script> 311 </body></html>