new_features_2_4.html.en revision bf0e48c4a0c4c99e8dc49a9be06945898ba3c1ae
3eb95d6629bb326ae90e5eec693b7e628951751brbb<?xml version="1.0" encoding="ISO-8859-1"?>
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 -->
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<body id="manual-page"><div id="page-header">
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<p class="apache">Apache HTTP Server Version 2.3</p>
c069757188a3cd9ab19b05169b005a824b60b6fcaaron<img alt="" src="/images/feather.gif" /></div>
c069757188a3cd9ab19b05169b005a824b60b6fcaaron<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
c069757188a3cd9ab19b05169b005a824b60b6fcaaron<div id="path">
c069757188a3cd9ab19b05169b005a824b60b6fcaaron<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.4</h1>
11ce97701b22d795fd1a5ec3769a3367bc220921wrowe<div class="toplang">
11ce97701b22d795fd1a5ec3769a3367bc220921wrowe<p><span>Available Languages: </span><a href="/en/new_features_2_4.html" title="English">&nbsp;en&nbsp;</a> |
11ce97701b22d795fd1a5ec3769a3367bc220921wrowe<a href="/fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a></p>
11ce97701b22d795fd1a5ec3769a3367bc220921wrowe</div>
11ce97701b22d795fd1a5ec3769a3367bc220921wrowe
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>
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</ul></div>
c5fb76caa5498c60b991fcba8dfbf3c229f0f4d5rbb<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
c5fb76caa5498c60b991fcba8dfbf3c229f0f4d5rbb<div class="section">
b9cf7102006ac2ccfebcb78174585986ff127ba9jwoolley<h2><a name="core" id="core">Core Enhancements</a></h2>
b9cf7102006ac2ccfebcb78174585986ff127ba9jwoolley
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard <dl>
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard <dt>KeepAliveTimeout in milliseconds</dt>
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard <dd>It is now possible to specify <code class="directive"><a href="/mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> in milliseconds.
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard </dd>
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard
2b13bc45632d72cdf50ac42149e4fc8bc0d05bf2stoddard <dt>Loadable MPMs</dt>
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>
52617e76a53b1d90da027a5311790e1ccef8f60ftrawick
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>
7ac88dc1ac207b9a434fd76c0406651d68018d69rederpj
7ac88dc1ac207b9a434fd76c0406651d68018d69rederpj <dt>Event MPM</dt>
52617e76a53b1d90da027a5311790e1ccef8f60ftrawick <dd>The Event MPM is no longer experimental but is now fully supported.</dd>
52617e76a53b1d90da027a5311790e1ccef8f60ftrawick
f905b21d99b264dbf26acc30b430ebe92838cdcejerenkrantz <dt>Asynchronous support</dt>
d157b208942316e96c34fa8b2222ed4cc2e56783trawick <dd>Better support for asynchronous read/write for supporting MPMs and
d157b208942316e96c34fa8b2222ed4cc2e56783trawick platforms.</dd>
d157b208942316e96c34fa8b2222ed4cc2e56783trawick
d157b208942316e96c34fa8b2222ed4cc2e56783trawick <dt>Per-request configuration sections</dt>
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick <dd>&lt;<code class="directive"><a href="/mod/core.html#if">If</a></code>&gt; sections can be used to
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick set the configuration based on per-request criteria</dd>
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick <dt>NameVirtualHost directive</dt>
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick <dd>No longer needed and is now deprecated.</dd>
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick
dc903d97a896d4e414efb1cb49f22ce00a49f070trawick </dl>
68f803c489cf61918fb4e61745fcd1e0cc980541jerenkrantz </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
68f803c489cf61918fb4e61745fcd1e0cc980541jerenkrantz<div class="section">
68f803c489cf61918fb4e61745fcd1e0cc980541jerenkrantz<h2><a name="newmods" id="newmods">New Modules</a></h2>
15405e91bb3fad5a80f7abe828a00b44a3a65bf8jerenkrantz
15405e91bb3fad5a80f7abe828a00b44a3a65bf8jerenkrantz <dl>
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>
f905b21d99b264dbf26acc30b430ebe92838cdcejerenkrantz
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>
431d6106eaf796cc8dfa8cb0db2b180dd93ed6dftrawick
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
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
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
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
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>
8fcaadcb287f361bb304d53a69d508500840fafcjerenkrantz
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
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
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
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
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
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
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>
390489eb69fe15943ddf67adcc832ca8de125cd9jerenkrantz
390489eb69fe15943ddf67adcc832ca8de125cd9jerenkrantz </dl>
a1e8b54f269a8f2388590174174509546e886e60stoddard </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
a1e8b54f269a8f2388590174174509546e886e60stoddard<div class="section">
a1e8b54f269a8f2388590174174509546e886e60stoddard<h2><a name="module" id="module">Module Enhancements</a></h2>
3eb95d6629bb326ae90e5eec693b7e628951751brbb
109d280c3fcf810e573fc1af5e141ad525c45811bjh <dl>
109d280c3fcf810e573fc1af5e141ad525c45811bjh <dt><code class="module"><a href="/mod/mod_ssl.html">mod_ssl</a></code></dt>
109d280c3fcf810e573fc1af5e141ad525c45811bjh
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
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>
9a3bbca61e24c13d8b496116ac759117136c6bf4aaron
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
64c351fd973428b5bb4c28e983fa86875ea4e60fdougm <dt><code class="module"><a href="/mod/mod_proxy.html">mod_proxy</a></code></dt>
0506359f47150991eaaae37ca07f94117a9aa63dtrawick
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
9d3fdc3bb8077a46851080e17ef9f16c83720c8ftrawick <dt><code class="module"><a href="/mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dt>
219472ea2d5f1563509321d8b8a91b116792bf7adougm
219472ea2d5f1563509321d8b8a91b116792bf7adougm <dd>More runtime configuration changes for BalancerMembers via balancer-manager</dd>
219472ea2d5f1563509321d8b8a91b116792bf7adougm
c048b545f06921f53ceb830b30f99aed7b369d95dougm <dd>Additional BalancerMembers can be added at runtime via balancer-manager</dd>
c048b545f06921f53ceb830b30f99aed7b369d95dougm
c048b545f06921f53ceb830b30f99aed7b369d95dougm <dd>Runtime configuration of a subset of Balancer parameters</dd>
621bd763d2e4d32f19013ac8b76b375b5a01851fdougm
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
0ea12b5dcb3d1d399f9bff6f56fb445d80205f9dstriker <dd>Balancer settings can be persistant after restarts.</dd>
0ea12b5dcb3d1d399f9bff6f56fb445d80205f9dstriker
e93624301705e3dc68992e3b488a764389eb8b98trawick <dt><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code></dt>
e93624301705e3dc68992e3b488a764389eb8b98trawick
cba0728e3535ee87e89cdb3cb54ce91eda18f6ccaaron <dd><code class="module"><a href="/mod/mod_cache.html">mod_cache</a></code> can now cache HEAD requests.</dd>
cba0728e3535ee87e89cdb3cb54ce91eda18f6ccaaron
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
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
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>
7f14bcf6b594703df385ce84ba2ee3cdf3ccbae4trawick
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
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
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
ecb511c254d5affe7cc018482d53c19aaf145878jerenkrantz <dt><code class="module"><a href="/mod/mod_authz_core.html">mod_authz_core</a></code> Authorization Logic Containers</dt>
ecb511c254d5affe7cc018482d53c19aaf145878jerenkrantz
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">&lt;RequireAll&gt;</a></code>.</dd>
e93624301705e3dc68992e3b488a764389eb8b98trawick
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>
a2d4f1da4e19836b2d6a673f80f33381a926a8bddougm
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 (Query String Discard) and <code>[END]</code> flags for
d56d6753a75f5b915120c797aedbfcf13bb14c8brbb <code class="directive"><a href="/mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to
d56d6753a75f5b915120c797aedbfcf13bb14c8brbb simplify common rewriting scenarios.</dd>
4aaf7088758ca56823e585969320f2405a7cc5fcdougm </dl>
4aaf7088758ca56823e585969320f2405a7cc5fcdougm </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
4aaf7088758ca56823e585969320f2405a7cc5fcdougm<div class="section">
e0596968fe84a2bdaebe0192d8d64d2e9856d4d6brianp<h2><a name="programs" id="programs">Program Enhancements</a></h2>
e0596968fe84a2bdaebe0192d8d64d2e9856d4d6brianp
e0596968fe84a2bdaebe0192d8d64d2e9856d4d6brianp <dl>
f33c2c86b419be97248c5289b71738b5f0c7ab0adirkx <dt>fcgistarter</dt>
f33c2c86b419be97248c5289b71738b5f0c7ab0adirkx <dd>FastCGI deamon starter utility</dd>
f33c2c86b419be97248c5289b71738b5f0c7ab0adirkx <dt>htcacheclean</dt>
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
2fc50921b88defeb7127985dfe4b4130175e069ejwoolley disk.</dd>
2fc50921b88defeb7127985dfe4b4130175e069ejwoolley </dl>
47638f4a67ce38e5a83e7a303d6f2d5c9ff47b4ebrianp </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
47638f4a67ce38e5a83e7a303d6f2d5c9ff47b4ebrianp<div class="section">
47638f4a67ce38e5a83e7a303d6f2d5c9ff47b4ebrianp<h2><a name="developer" id="developer">Module Developer Changes</a></h2>
82630c4a04be47f39298d3284b2c596244fb509bbrianp
82630c4a04be47f39298d3284b2c596244fb509bbrianp <dl>
0d24ea1c99d2267096caaf0843c7e5a1ac6b7c0bmjc <dt>Check Configuration Hook Added</dt>
35d682920b0b7073bb9ff8c8794f0f73e3ee1a47slive
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
a2d4f1da4e19836b2d6a673f80f33381a926a8bddougm when the <code>-t</code> option is passed to
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>
983988ac7b8faaf037f4df0ab29729cd047a3ffdtrawick
983988ac7b8faaf037f4df0ab29729cd047a3ffdtrawick <dt>Expression Parser Added</dt>
7a64b871b8b5e5a427b570e90f0e38e88266c783jim
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>
a736bac16e58d5e96945f35ee3c43a2cd2f5d37ejerenkrantz
a736bac16e58d5e96945f35ee3c43a2cd2f5d37ejerenkrantz <dt>Authorization Logic Containers</dt>
a736bac16e58d5e96945f35ee3c43a2cd2f5d37ejerenkrantz
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">&lt;RequireAll&gt;</a></code>.</dd>
5842e6b336b1cc0252b6cc2944dd81c7d3a19a1bbrianp
5842e6b336b1cc0252b6cc2944dd81c7d3a19a1bbrianp <dt>Small-Object Caching Interface</dt>
2532433e80d73506f7bcc18bd0dab686f1c39397minfrin
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
9d432e23f6025b78322cbee43e8e89262a108e5eaaron <dt>Cache Status Hook Added</dt>
9d432e23f6025b78322cbee43e8e89262a108e5eaaron
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
9d432e23f6025b78322cbee43e8e89262a108e5eaaron which adds an optional <code>X-Cache</code> and
6a5bdbbacf4a62adecde52b8f23ebcc4fa2a08b8trawick <code>X-Cache-Detail</code> header to the response.</dd>
6a5bdbbacf4a62adecde52b8f23ebcc4fa2a08b8trawick </dl>
6a5bdbbacf4a62adecde52b8f23ebcc4fa2a08b8trawick
10306ac2c175f420e6989568f4c8535a5dbc1349minfrin <p>The developer documentation contains a
10306ac2c175f420e6989568f4c8535a5dbc1349minfrin <a href="developer/new_api_2_4.html">detailed list of API changes</a>.</p>
10306ac2c175f420e6989568f4c8535a5dbc1349minfrin </div></div>
10306ac2c175f420e6989568f4c8535a5dbc1349minfrin<div class="bottomlang">
b4e4d76bf454e1b603b410110356dbcf12f3bc42jim<p><span>Available Languages: </span><a href="/en/new_features_2_4.html" title="English">&nbsp;en&nbsp;</a> |
b4e4d76bf454e1b603b410110356dbcf12f3bc42jim<a href="/fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a></p>
b4e4d76bf454e1b603b410110356dbcf12f3bc42jim</div><div id="footer">
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>
adb1e17ae7e1cf5cf4f8f2b07d3389cb55f4becetrawick</body></html>