new_features_2_4.html.en revision bf0e48c4a0c4c99e8dc49a9be06945898ba3c1ae
b9cf7102006ac2ccfebcb78174585986ff127ba9jwoolley<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
28caffb98f18c0b9562ac20870f7ab91f3d9a01fjerenkrantz<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head><!--
28caffb98f18c0b9562ac20870f7ab91f3d9a01fjerenkrantz XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
28caffb98f18c0b9562ac20870f7ab91f3d9a01fjerenkrantz This file is generated from xml source: DO NOT EDIT
d757628a07145aa711ba75b4e7c7c01a33133ca1jerenkrantz XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
d757628a07145aa711ba75b4e7c7c01a33133ca1jerenkrantz<title>Overview of new features in Apache HTTP Server 2.4 - Apache HTTP Server</title>
1585c2979d749ee71edb6a1d57bc9ff6db12a426jerenkrantz<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
1585c2979d749ee71edb6a1d57bc9ff6db12a426jerenkrantz<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
1585c2979d749ee71edb6a1d57bc9ff6db12a426jerenkrantz<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
6bdb2c094666367615890147775bb18761216c8dminfrin<link href="/images/favicon.ico" rel="shortcut icon" /></head>
6bdb2c094666367615890147775bb18761216c8dminfrin<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>
c069757188a3cd9ab19b05169b005a824b60b6fcaaron<div class="up"><a href="./"><img title="<-" alt="<-" src="/images/left.gif" /></a></div>
c069757188a3cd9ab19b05169b005a824b60b6fcaaron<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.3</a></div><div id="page-content"><div id="preamble"><h1>Overview of new features in Apache HTTP Server 2.4</h1>
11ce97701b22d795fd1a5ec3769a3367bc220921wrowe<p><span>Available Languages: </span><a href="/en/new_features_2_4.html" title="English"> en </a> |
11ce97701b22d795fd1a5ec3769a3367bc220921wrowe<a href="/fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a></p>
6cdd5cd95d8323de5cfb912d8fc0df8c5e3d02cejerenkrantz <p>This document describes some of the major changes between the
e45d7d4ca98387c2898f8302bafb31e3b4f5a5d8jwoolley 2.2 and 2.4 versions of the Apache HTTP Server. For new features since
6cdd5cd95d8323de5cfb912d8fc0df8c5e3d02cejerenkrantz version 2.0, see the <a href="new_features_2_2.html">2.2 new features</a>
239ab9d14d3851c2efc1312b3b42c838073533f4jerenkrantz document.</p>
239ab9d14d3851c2efc1312b3b42c838073533f4jerenkrantz<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#core">Core Enhancements</a></li>
239ab9d14d3851c2efc1312b3b42c838073533f4jerenkrantz<li><img alt="" src="/images/down.gif" /> <a href="#newmods">New Modules</a></li>
c5fb76caa5498c60b991fcba8dfbf3c229f0f4d5rbb<li><img alt="" src="/images/down.gif" /> <a href="#module">Module Enhancements</a></li>
c5fb76caa5498c60b991fcba8dfbf3c229f0f4d5rbb<li><img alt="" src="/images/down.gif" /> <a href="#programs">Program Enhancements</a></li>
c5fb76caa5498c60b991fcba8dfbf3c229f0f4d5rbb<li><img alt="" src="/images/down.gif" /> <a href="#developer">Module Developer Changes</a></li>
c5fb76caa5498c60b991fcba8dfbf3c229f0f4d5rbb<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
b9cf7102006ac2ccfebcb78174585986ff127ba9jwoolley<h2><a name="core" id="core">Core Enhancements</a></h2>
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard <dd>It is now possible to specify <code class="directive"><a href="/mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> in milliseconds.
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard <dd>Multiple MPMs can now be built as loadable modules at compile time.
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard The MPM of choice can be configured at run time.</dd>
b584ec31a47334b1253f4a5ad73f023336ab2f28jwoolley <dt>Per-module and per-directory LogLevel configuration</dt>
b584ec31a47334b1253f4a5ad73f023336ab2f28jwoolley <dd>The <code class="directive"><a href="/mod/core.html#loglevel">LogLevel</a></code> can now be
b584ec31a47334b1253f4a5ad73f023336ab2f28jwoolley configured per module and per directory. New levels <code>trace1</code>
b584ec31a47334b1253f4a5ad73f023336ab2f28jwoolley to <code>trace8</code> have been added above the <code>debug</code> log
b584ec31a47334b1253f4a5ad73f023336ab2f28jwoolley level.</dd>
52617e76a53b1d90da027a5311790e1ccef8f60ftrawick <dd>The Event MPM is no longer experimental but is now fully supported.</dd>
d157b208942316e96c34fa8b2222ed4cc2e56783trawick <dd>Better support for asynchronous read/write for supporting MPMs and
d157b208942316e96c34fa8b2222ed4cc2e56783trawick platforms.</dd>
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick <dd><<code class="directive"><a href="/mod/core.html#if">If</a></code>> sections can be used to
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick set the configuration based on per-request criteria</dd>
68f803c489cf61918fb4e61745fcd1e0cc980541jerenkrantz </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
68f803c489cf61918fb4e61745fcd1e0cc980541jerenkrantz<h2><a name="newmods" id="newmods">New Modules</a></h2>
15405e91bb3fad5a80f7abe828a00b44a3a65bf8jerenkrantz <dt><code class="module"><a href="/mod/mod_allowmethods.html">mod_allowmethods</a></code></dt>
f905b21d99b264dbf26acc30b430ebe92838cdcejerenkrantz <dd>New module to restrict certain HTTP methods without interfering with
f905b21d99b264dbf26acc30b430ebe92838cdcejerenkrantz authentication or authorization.</dd>
0e2340134f2336b98c92d7f157fb65d0a6f477d4stoddard <dt><code class="module"><a href="/mod/mod_buffer.html">mod_buffer</a></code></dt>
0e2340134f2336b98c92d7f157fb65d0a6f477d4stoddard <dd>Provides for buffering the input and output filter stacks</dd>
b3edf21d591bfd0e64bbec0dda73c0e41d7ecdb6wrowe <dt><code class="module"><a href="/mod/mod_data.html">mod_data</a></code></dt>
b3edf21d591bfd0e64bbec0dda73c0e41d7ecdb6wrowe <dd>Convert response body into an RFC2397 data URL</dd>
b3edf21d591bfd0e64bbec0dda73c0e41d7ecdb6wrowe <dt><code class="module"><a href="/mod/mod_lua.html">mod_lua</a></code></dt>
b3edf21d591bfd0e64bbec0dda73c0e41d7ecdb6wrowe <dd>Embeds the <a href="http://www.lua.org/">Lua</a> language into httpd,
b3edf21d591bfd0e64bbec0dda73c0e41d7ecdb6wrowe for configuration and small business logic functions.</dd>
5d238058bc748dfa13ff21890ae4a58481e3be89jerenkrantz <dt><code class="module"><a href="/mod/mod_proxy_express.html">mod_proxy_express</a></code></dt>
5d238058bc748dfa13ff21890ae4a58481e3be89jerenkrantz <dd>Provides dynamically configured mass reverse proxies for <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></dd>
9282327b0ffe8981d39835130dfb334af192b508jerenkrantz <dt><code class="module"><a href="/mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></dt>
9282327b0ffe8981d39835130dfb334af192b508jerenkrantz <dd>FastCGI Protocol backend for <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></dd>
8fcaadcb287f361bb304d53a69d508500840fafcjerenkrantz <dt><code class="module"><a href="/mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></dt>
8fcaadcb287f361bb304d53a69d508500840fafcjerenkrantz <dd>SCGI Protocol backend for <code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></dd>
8af88bd6958b80c224e964892b8237720b13ab1ajerenkrantz <dt><code class="module"><a href="/mod/mod_ratelimit.html">mod_ratelimit</a></code></dt>
8af88bd6958b80c224e964892b8237720b13ab1ajerenkrantz <dd>Provides Bandwidth Rate Limiting for Clients</dd>
8af88bd6958b80c224e964892b8237720b13ab1ajerenkrantz <dt><code class="module"><a href="/mod/mod_reflector.html">mod_reflector</a></code></dt>
8af88bd6958b80c224e964892b8237720b13ab1ajerenkrantz <dd>Provides Reflection of a request body as a response via the output filter stack.</dd>
25b812bcab8b61981e288996b991e0ab4d224b92jerenkrantz <dt><code class="module"><a href="/mod/mod_remoteip.html">mod_remoteip</a></code></dt>
87f0329e30de94828e08d53a99ea23cda86a9fccjerenkrantz <dd>Replaces the apparent client remote IP address and hostname for the request
87f0329e30de94828e08d53a99ea23cda86a9fccjerenkrantz with the IP address list presented by a proxies or a load balancer via
87f0329e30de94828e08d53a99ea23cda86a9fccjerenkrantz the request headers.</dd>
0396e75f271f51be57be778655e32ba8d64d240bwrowe <dt><code class="module"><a href="/mod/mod_reqtimeout.html">mod_reqtimeout</a></code></dt>
0396e75f271f51be57be778655e32ba8d64d240bwrowe <dd>Set timeout and minimum data rate for receiving requests</dd>
0396e75f271f51be57be778655e32ba8d64d240bwrowe <dt><code class="module"><a href="/mod/mod_request.html">mod_request</a></code></dt>
dc10f7a2f87d4cd7cdd16dc248b165122b4ac62btrawick <dd>Provides Filters to handle and make available HTTP request bodies</dd>
dc10f7a2f87d4cd7cdd16dc248b165122b4ac62btrawick <dt><code class="module"><a href="/mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code></dt>
dc10f7a2f87d4cd7cdd16dc248b165122b4ac62btrawick <dd>Provides a Slot-based shared memory provider (ala the scoreboard).</dd>
431d6106eaf796cc8dfa8cb0db2b180dd93ed6dftrawick <dt><code class="module"><a href="/mod/mod_log_debug.html">mod_log_debug</a></code></dt>
390489eb69fe15943ddf67adcc832ca8de125cd9jerenkrantz <dd>Allows to add customizable debug logging at different phases of the
390489eb69fe15943ddf67adcc832ca8de125cd9jerenkrantz request processing.</dd>
a1e8b54f269a8f2388590174174509546e886e60stoddard </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
a1e8b54f269a8f2388590174174509546e886e60stoddard<h2><a name="module" id="module">Module Enhancements</a></h2>
109d280c3fcf810e573fc1af5e141ad525c45811bjh <dt><code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code></dt>
61d2cd001754548e90364aa3a7e76863616544b0minfrin <dd><code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> can now be configured to use an
61d2cd001754548e90364aa3a7e76863616544b0minfrin OCSP server to check the validation status of a client
61d2cd001754548e90364aa3a7e76863616544b0minfrin certificate. The default responder is configurable, along with
61d2cd001754548e90364aa3a7e76863616544b0minfrin the decision on whether to prefer the responder designated in
61d2cd001754548e90364aa3a7e76863616544b0minfrin the client certificate itself.</dd>
9a3bbca61e24c13d8b496116ac759117136c6bf4aaron <dd><code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> now also supports OCSP stapling, where the
9a3bbca61e24c13d8b496116ac759117136c6bf4aaron server pro-actively obtains an OCSP verification of its certificate and
9a3bbca61e24c13d8b496116ac759117136c6bf4aaron transmits that to the client during the handshake. </dd>
64c351fd973428b5bb4c28e983fa86875ea4e60fdougm <dd><code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> can now be configured to share SSL Session
64c351fd973428b5bb4c28e983fa86875ea4e60fdougm data between servers through memcached</dd>
64c351fd973428b5bb4c28e983fa86875ea4e60fdougm <dt><code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></dt>
0506359f47150991eaaae37ca07f94117a9aa63dtrawick <dd>The <code class="directive"><a href="/mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive
0506359f47150991eaaae37ca07f94117a9aa63dtrawick is now most optimally configured within a
0506359f47150991eaaae37ca07f94117a9aa63dtrawick <code class="directive"><a href="/mod/core.html#location">Location</a></code> or
67f62b7a48ff9eb8d9f31898dceaf9f89280a723dougm <code class="directive"><a href="/mod/core.html#locationmatch">LocationMatch</a></code>
67f62b7a48ff9eb8d9f31898dceaf9f89280a723dougm block, and offers a significant performance advantage over the traditional
9d3fdc3bb8077a46851080e17ef9f16c83720c8ftrawick two-parameter syntax when present in large numbers.</dd>
9d3fdc3bb8077a46851080e17ef9f16c83720c8ftrawick <dt><code class="module"><a href="/mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dt>
219472ea2d5f1563509321d8b8a91b116792bf7adougm <dd>More runtime configuration changes for BalancerMembers via balancer-manager</dd>
c048b545f06921f53ceb830b30f99aed7b369d95dougm <dd>Additional BalancerMembers can be added at runtime via balancer-manager</dd>
c048b545f06921f53ceb830b30f99aed7b369d95dougm <dd>Runtime configuration of a subset of Balancer parameters</dd>
621bd763d2e4d32f19013ac8b76b375b5a01851fdougm <dd>BalancerMembers can be set to 'Drain' so that they only respond to existing sticky
621bd763d2e4d32f19013ac8b76b375b5a01851fdougm sessions, allowing them to be taken gracefully offline.</dd>
0ea12b5dcb3d1d399f9bff6f56fb445d80205f9dstriker <dd>Balancer settings can be persistant after restarts.</dd>
e93624301705e3dc68992e3b488a764389eb8b98trawick <dt><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code></dt>
cba0728e3535ee87e89cdb3cb54ce91eda18f6ccaaron <dd><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> can now cache HEAD requests.</dd>
cba0728e3535ee87e89cdb3cb54ce91eda18f6ccaaron <dd>Where possible, <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> directives can now be set
a45de374fb215f294eb1369d4406ac79d6596ee1brianp per directory, instead of per server.</dd>
a45de374fb215f294eb1369d4406ac79d6596ee1brianp <dd>The base URL of cached URLs can be customised, so that a cluster of
a45de374fb215f294eb1369d4406ac79d6596ee1brianp caches can share the same endpoint URL prefix.</dd>
7f14bcf6b594703df385ce84ba2ee3cdf3ccbae4trawick <dd><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> is now capable of serving stale cached
7f14bcf6b594703df385ce84ba2ee3cdf3ccbae4trawick data when a backend is unavailable (error 5xx).</dd>
0007bb1e01dd762bde7280beb57113309c1715a3trawick <dd><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> can now insert HIT/MISS/REVALIDATE into
a1be7357e2c08b9dfe52c277063d212d65b15feejim an X-Cache header.</dd>
a1be7357e2c08b9dfe52c277063d212d65b15feejim <dt><code class="module"><a href="/mod/mod_include.html">mod_include</a></code></dt>
a1be7357e2c08b9dfe52c277063d212d65b15feejim <dd>Support for the 'onerror' attribute within an 'include' element,
a1be7357e2c08b9dfe52c277063d212d65b15feejim allowing an error document to be served on error instead of the default
6682df9b639663c50f447e5690dd62cce7b1c086trawick error string.</dd>
6682df9b639663c50f447e5690dd62cce7b1c086trawick <dt><code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code>, <code class="module"><a href="/mod/mod_include.html">mod_include</a></code>,
51c0f0fe0a49a180389009442a83f74b1916f96atrawick <code class="module"><a href="/mod/mod_isapi.html">mod_isapi</a></code>, ...</dt>
51c0f0fe0a49a180389009442a83f74b1916f96atrawick <dd>Translation of headers to environment variables is more strict than
51c0f0fe0a49a180389009442a83f74b1916f96atrawick before to mitigate some possible cross-site-scripting attacks via header
51c0f0fe0a49a180389009442a83f74b1916f96atrawick injection. Headers containing invalid characters (including underscores)
51c0f0fe0a49a180389009442a83f74b1916f96atrawick are now silently dropped. <a href="env.html">Environment Variables
7e8bc9ca9d1e752f6ca6debec6be8addae8bd72etrawick in Apache</a> has some pointers on how to work around broken legacy
7e8bc9ca9d1e752f6ca6debec6be8addae8bd72etrawick clients which require such headers. (This affects all modules which
7e8bc9ca9d1e752f6ca6debec6be8addae8bd72etrawick use these environment variables.)</dd>
ecb511c254d5affe7cc018482d53c19aaf145878jerenkrantz <dt><code class="module"><a href="/mod/mod_authz_core.html">mod_authz_core</a></code> Authorization Logic Containers</dt>
ecb511c254d5affe7cc018482d53c19aaf145878jerenkrantz <dd>Advanced authorization logic may now be specified using the
60b83cd8f9427809082340cfd7581091990962f5jwoolley <code class="directive"><a href="/mod/mod_authz_core.html#require">Require</a></code> directive
60b83cd8f9427809082340cfd7581091990962f5jwoolley and the related container directives, such as
60b83cd8f9427809082340cfd7581091990962f5jwoolley <code class="directive"><a href="/mod/mod_authz_core.html#requireall"><RequireAll></a></code>.</dd>
e93624301705e3dc68992e3b488a764389eb8b98trawick <dt><code class="module"><a href="/mod/mod_info.html">mod_info</a></code></dt>
e93624301705e3dc68992e3b488a764389eb8b98trawick <dd><code class="module"><a href="/mod/mod_info.html">mod_info</a></code> can now dump the pre-parsed configuration
4da4d1ae427ee8827c2325dd121ac05a83afd579wrowe to stdout during server startup.</dd>
d56d6753a75f5b915120c797aedbfcf13bb14c8brbb <dt><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code></dt>
d56d6753a75f5b915120c797aedbfcf13bb14c8brbb <dd><code class="module"><a href="/mod/mod_rewrite.html">mod_rewrite</a></code> adds the <code>[QSD]</code>
d56d6753a75f5b915120c797aedbfcf13bb14c8brbb <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to
d56d6753a75f5b915120c797aedbfcf13bb14c8brbb simplify common rewriting scenarios.</dd>
4aaf7088758ca56823e585969320f2405a7cc5fcdougm </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
e0596968fe84a2bdaebe0192d8d64d2e9856d4d6brianp<h2><a name="programs" id="programs">Program Enhancements</a></h2>
c5fdaba2e790a0a351d796b5fe3dcfb585be1ba2jim <dd>Current cached URLs can now be listed, with optional metadata
c5fdaba2e790a0a351d796b5fe3dcfb585be1ba2jim included.</dd>
c5fdaba2e790a0a351d796b5fe3dcfb585be1ba2jim <dd>Allow explicit deletion of individual cached URLs from the
c5fdaba2e790a0a351d796b5fe3dcfb585be1ba2jim cache.</dd>
c5fdaba2e790a0a351d796b5fe3dcfb585be1ba2jim <dd>File sizes can now be rounded up to the given block size, making
2fc50921b88defeb7127985dfe4b4130175e069ejwoolley the size limits map more closely to the real size on disk.</dd>
2fc50921b88defeb7127985dfe4b4130175e069ejwoolley <dd>Cache size can now be limited by the number of inodes, instead
2fc50921b88defeb7127985dfe4b4130175e069ejwoolley of or in addition to being limited by the size of the files on
47638f4a67ce38e5a83e7a303d6f2d5c9ff47b4ebrianp </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
47638f4a67ce38e5a83e7a303d6f2d5c9ff47b4ebrianp<h2><a name="developer" id="developer">Module Developer Changes</a></h2>
35d682920b0b7073bb9ff8c8794f0f73e3ee1a47slive <dd>A new hook, <code>check_config</code>, has been added which runs
a2d4f1da4e19836b2d6a673f80f33381a926a8bddougm between the <code>pre_config</code> and <code>open_logs</code>
a2d4f1da4e19836b2d6a673f80f33381a926a8bddougm hooks. It also runs before the <code>test_config</code> hook
30b4a330a5f651eb5198fa93dbb9f3d3594564c9stoddard <code class="program"><a href="/programs/httpd.html">httpd</a></code>. The <code>check_config</code> hook
30b4a330a5f651eb5198fa93dbb9f3d3594564c9stoddard allows modules to review interdependent configuration directive
30b4a330a5f651eb5198fa93dbb9f3d3594564c9stoddard values and adjust them while messages can still be logged to the
30b4a330a5f651eb5198fa93dbb9f3d3594564c9stoddard console. The user can thus be alerted to misconfiguration problems
30b4a330a5f651eb5198fa93dbb9f3d3594564c9stoddard before the core <code>open_logs</code> hook function redirects
17895aa4b66b8af02d8788b15cb92e1f6a8ecafcwrowe console output to the error log.</dd>
7a64b871b8b5e5a427b570e90f0e38e88266c783jim <dd>We now have a general-purpose expression parser, whose API is
7a64b871b8b5e5a427b570e90f0e38e88266c783jim exposed in <var>ap_expr.h</var>. This is adapted from the
7a64b871b8b5e5a427b570e90f0e38e88266c783jim expression parser previously implemented in
17895aa4b66b8af02d8788b15cb92e1f6a8ecafcwrowe <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code>.</dd>
797d596a95d4f9900e83ec18295b4ca4951bf763jerenkrantz <dd>Authorization modules now register as a provider, via
797d596a95d4f9900e83ec18295b4ca4951bf763jerenkrantz ap_register_auth_provider(), to support advanced authorization logic,
797d596a95d4f9900e83ec18295b4ca4951bf763jerenkrantz such as <code class="directive"><a href="/mod/mod_authz_core.html#requireall"><RequireAll></a></code>.</dd>
2532433e80d73506f7bcc18bd0dab686f1c39397minfrin <dd>The <var>ap_socache.h</var> header exposes a provider-based
2532433e80d73506f7bcc18bd0dab686f1c39397minfrin interface for caching small data objects, based on the previous
2532433e80d73506f7bcc18bd0dab686f1c39397minfrin implementation of the <code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code> session cache.
c148bc6b4eea544af816783400362f741c5f5fc2trawick Providers using a shared-memory cyclic buffer, disk-based dbm
c148bc6b4eea544af816783400362f741c5f5fc2trawick files, and a memcache distributed cache are currently
c148bc6b4eea544af816783400362f741c5f5fc2trawick supported.</dd>
9d432e23f6025b78322cbee43e8e89262a108e5eaaron <dd>The <code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> module now includes a new
9d432e23f6025b78322cbee43e8e89262a108e5eaaron <code>cache_status</code> hook, which is called when the caching
9d432e23f6025b78322cbee43e8e89262a108e5eaaron decision becomes known. A default implementation is provided
6a5bdbbacf4a62adecde52b8f23ebcc4fa2a08b8trawick <code>X-Cache-Detail</code> header to the response.</dd>
10306ac2c175f420e6989568f4c8535a5dbc1349minfrin <p>The developer documentation contains a
10306ac2c175f420e6989568f4c8535a5dbc1349minfrin <a href="developer/new_api_2_4.html">detailed list of API changes</a>.</p>
b4e4d76bf454e1b603b410110356dbcf12f3bc42jim<p><span>Available Languages: </span><a href="/en/new_features_2_4.html" title="English"> en </a> |
b4e4d76bf454e1b603b410110356dbcf12f3bc42jim<a href="/fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a></p>
adb1e17ae7e1cf5cf4f8f2b07d3389cb55f4becetrawick<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>
adb1e17ae7e1cf5cf4f8f2b07d3389cb55f4becetrawick<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>