diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 06:33:50 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 06:33:50 +0000 |
commit | fe39ffb8b90ae4e002ed73fe98617cd590abb467 (patch) | |
tree | b80e5956907d8aeaaffe4e4f0c068c0e6157ce8b /docs/manual/new_features_2_4.html.en | |
parent | Initial commit. (diff) | |
download | apache2-fe39ffb8b90ae4e002ed73fe98617cd590abb467.tar.xz apache2-fe39ffb8b90ae4e002ed73fe98617cd590abb467.zip |
Adding upstream version 2.4.56.upstream/2.4.56upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | docs/manual/new_features_2_4.html.en | 473 |
1 files changed, 473 insertions, 0 deletions
diff --git a/docs/manual/new_features_2_4.html.en b/docs/manual/new_features_2_4.html.en new file mode 100644 index 0000000..41f3350 --- /dev/null +++ b/docs/manual/new_features_2_4.html.en @@ -0,0 +1,473 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"><head> +<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> +<!-- + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + This file is generated from xml source: DO NOT EDIT + XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX + --> +<title>Overview of new features in Apache HTTP Server 2.4 - Apache HTTP Server Version 2.4</title> +<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" /> +<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" /> +<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" /> +<script src="./style/scripts/prettify.min.js" type="text/javascript"> +</script> + +<link href="./images/favicon.ico" rel="shortcut icon" /></head> +<body id="manual-page"><div id="page-header"> +<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> +<p class="apache">Apache HTTP Server Version 2.4</p> +<img alt="" src="./images/feather.png" /></div> +<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif" /></a></div> +<div id="path"> +<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.4</a></div><div id="page-content"><div id="preamble"><h1>Overview of new features in Apache HTTP Server 2.4</h1> +<div class="toplang"> +<p><span>Available Languages: </span><a href="./en/new_features_2_4.html" title="English"> en </a> | +<a href="./fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./tr/new_features_2_4.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</div> + + <p>This document describes some of the major changes between the + 2.2 and 2.4 versions of the Apache HTTP Server. For new features since + version 2.0, see the <a href="new_features_2_2.html">2.2 new features</a> + document.</p> +</div> +<div id="quickview"><a href="https://www.apache.org/foundation/contributing.html" class="badge"><img src="https://www.apache.org/images/SupportApache-small.png" alt="Support Apache!" /></a><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#core">Core Enhancements</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#newmods">New Modules</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#module">Module Enhancements</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#programs">Program Enhancements</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#documentation">Documentation</a></li> +<li><img alt="" src="./images/down.gif" /> <a href="#developer">Module Developer Changes</a></li> +</ul><h3>See also</h3><ul class="seealso"><li><a href="#comments_section">Comments</a></li></ul></div> +<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="core" id="core">Core Enhancements</a></h2> + + <dl> + <dt>Run-time Loadable MPMs</dt> + <dd>Multiple MPMs can now be <a href="mpm.html#dynamic">built + as loadable modules</a> at compile time. + The MPM of choice can be configured at run time via <code class="directive"><a href="./mod/mod_so.html#loadmodule">LoadModule</a></code> directive.</dd> + + <dt>Event MPM</dt> + <dd>The <a href="mod/event.html">Event MPM</a> is no longer experimental + but is now fully supported.</dd> + + <dt>Asynchronous support</dt> + <dd>Better support for asynchronous read/write for supporting MPMs and + platforms.</dd> + + <dt>Per-module and per-directory LogLevel configuration</dt> + <dd>The <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> can now be + configured per module and per directory. New levels <code>trace1</code> + to <code>trace8</code> have been added above the <code>debug</code> log + level.</dd> + + <dt>Per-request configuration sections</dt> + <dd><code class="directive"><a href="./mod/core.html#if"><If></a></code>, + <code class="directive"><a href="./mod/core.html#elseif"><ElseIf></a></code>, + and <code class="directive"><a href="./mod/core.html#else"><Else></a></code> + sections can be used to set the configuration based on per-request + criteria.</dd> + + <dt>General-purpose expression parser</dt> + <dd>A new expression parser allows to specify + <a href="expr.html">complex conditions</a> using a common syntax + in directives like + <code class="directive"><a href="./mod/mod_setenvif.html#setenvifexpr">SetEnvIfExpr</a></code>, + <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>, + <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>, + <code class="directive"><a href="./mod/core.html#if"><If></a></code>, + and others. + </dd> + + <dt>KeepAliveTimeout in milliseconds</dt> + <dd>It is now possible to specify <code class="directive"><a href="./mod/core.html#keepalivetimeout">KeepAliveTimeout</a></code> in milliseconds. + </dd> + + <dt>NameVirtualHost directive</dt> + <dd>No longer needed and is now deprecated.</dd> + + <dt>Override Configuration</dt> + <dd>The new <code class="directive"><a href="./mod/core.html#allowoverridelist">AllowOverrideList</a></code> + directive allows more fine grained control which directives are + allowed in <code>.htaccess</code> files. </dd> + + <dt>Config file variables</dt> + <dd>It is now possible to <code class="directive"><a href="./mod/core.html#define">Define</a></code> + variables in the configuration, allowing a clearer representation + if the same value is used at many places in the configuration. + </dd> + + <dt>Reduced memory usage</dt> + <dd>Despite many new features, 2.4.x tends to use less memory than + 2.2.x.</dd> + + </dl> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="newmods" id="newmods">New Modules</a></h2> + + <dl> + <dt><code class="module"><a href="./mod/mod_proxy_fcgi.html">mod_proxy_fcgi</a></code></dt> + <dd>FastCGI Protocol backend for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dd> + + <dt><code class="module"><a href="./mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code></dt> + <dd>SCGI Protocol backend for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dd> + + <dt><code class="module"><a href="./mod/mod_proxy_express.html">mod_proxy_express</a></code></dt> + <dd>Provides dynamically configured mass reverse proxies for + <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dd> + + <dt><code class="module"><a href="./mod/mod_remoteip.html">mod_remoteip</a></code></dt> + <dd>Replaces the apparent client remote IP address and hostname for the request + with the IP address list presented by a proxies or a load balancer via + the request headers.</dd> + + <dt><code class="module"><a href="./mod/mod_heartmonitor.html">mod_heartmonitor</a></code>, + <code class="module"><a href="./mod/mod_lbmethod_heartbeat.html">mod_lbmethod_heartbeat</a></code></dt> + <dd>Allow <code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code> to base loadbalancing decisions + on the number of active connections on the backend servers.</dd> + + <dt><code class="module"><a href="./mod/mod_proxy_html.html">mod_proxy_html</a></code></dt> + <dd>Formerly a third-party module, this supports fixing of HTML + links in a reverse proxy situation, where the backend generates + URLs that are not valid for the proxy's clients.</dd> + + <dt><code class="module"><a href="./mod/mod_sed.html">mod_sed</a></code></dt> + <dd>An advanced replacement of <code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>, allows + to edit the response body with the full power of sed.</dd> + + <dt><code class="module"><a href="./mod/mod_auth_form.html">mod_auth_form</a></code></dt> + <dd>Enables form-based authentication.</dd> + + <dt><code class="module"><a href="./mod/mod_session.html">mod_session</a></code></dt> + <dd>Enables the use of session state for clients, using cookie or + database storage.</dd> + + <dt><code class="module"><a href="./mod/mod_allowmethods.html">mod_allowmethods</a></code></dt> + <dd>New module to restrict certain HTTP methods without interfering with + authentication or authorization.</dd> + + <dt><code class="module"><a href="./mod/mod_lua.html">mod_lua</a></code></dt> + <dd>Embeds the <a href="http://www.lua.org/">Lua</a> language into httpd, + for configuration and small business logic functions. (Experimental)</dd> + + <dt><code class="module"><a href="./mod/mod_log_debug.html">mod_log_debug</a></code></dt> + <dd>Allows the addition of customizable debug logging at different phases of the + request processing.</dd> + + <dt><code class="module"><a href="./mod/mod_buffer.html">mod_buffer</a></code></dt> + <dd>Provides for buffering the input and output filter stacks</dd> + + <dt><code class="module"><a href="./mod/mod_data.html">mod_data</a></code></dt> + <dd>Convert response body into an RFC2397 data URL</dd> + + <dt><code class="module"><a href="./mod/mod_ratelimit.html">mod_ratelimit</a></code></dt> + <dd>Provides Bandwidth Rate Limiting for Clients</dd> + + <dt><code class="module"><a href="./mod/mod_request.html">mod_request</a></code></dt> + <dd>Provides Filters to handle and make available HTTP request bodies</dd> + + <dt><code class="module"><a href="./mod/mod_reflector.html">mod_reflector</a></code></dt> + <dd>Provides Reflection of a request body as a response via the output filter stack.</dd> + + <dt><code class="module"><a href="./mod/mod_slotmem_shm.html">mod_slotmem_shm</a></code></dt> + <dd>Provides a Slot-based shared memory provider (ala the scoreboard).</dd> + + <dt><code class="module"><a href="./mod/mod_xml2enc.html">mod_xml2enc</a></code></dt> + <dd>Formerly a third-party module, this supports internationalisation + in libxml2-based (markup-aware) filter modules.</dd> + + <dt><code class="module"><a href="./mod/mod_macro.html">mod_macro</a></code> (available since 2.4.5)</dt> + <dd>Provide macros within configuration files.</dd> + + <dt><code class="module"><a href="./mod/mod_proxy_wstunnel.html">mod_proxy_wstunnel</a></code> (available since 2.4.5)</dt> + <dd>Support web-socket tunnels.</dd> + + <dt><code class="module"><a href="./mod/mod_authnz_fcgi.html">mod_authnz_fcgi</a></code> (available since 2.4.10)</dt> + <dd>Enable FastCGI authorizer applications to authenticate and/or + authorize clients.</dd> + + <dt><code class="module"><a href="./mod/mod_http2.html">mod_http2</a></code> (available since 2.4.17)</dt> + <dd>Support for the HTTP/2 transport layer.</dd> + + <dt><code class="module"><a href="./mod/mod_proxy_http2.html">mod_proxy_http2</a></code> (available since 2.4.19)</dt> + <dd>HTTP/2 Protocol backend for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dd> + + <dt><code class="module"><a href="./mod/mod_proxy_hcheck.html">mod_proxy_hcheck</a></code> (available since 2.4.21)</dt> + <dd>Support independent dynamic health checks for remote proxiy backend servers.</dd> + + <dt><code class="module"><a href="./mod/mod_brotli.html">mod_brotli</a></code> (available since 2.4.26)</dt> + <dd>Support the Brotli compression algorithm.</dd> + + <dt><code class="module"><a href="./mod/mod_md.html">mod_md</a></code> (available since 2.4.30)</dt> + <dd>Support the ACME protocol to automate certificate provisionning.</dd> + + <dt><code class="module"><a href="./mod/mod_proxy_uwsgi.html">mod_proxy_uwsgi</a></code> (available since 2.4.30)</dt> + <dd>UWSGI gateway module for <code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code>.</dd> + + <dt><code class="module"><a href="./mod/mod_socache_redis.html">mod_socache_redis</a></code> (available since 2.4.39)</dt> + <dd>Support <a href="http://redis.io/">Redis</a> based shared object cache provider.</dd> + + <dt><code class="module"><a href="./mod/mod_systemd.html">mod_systemd</a></code> (available since 2.4.42)</dt> + <dd>systemd integration. It allows httpd to be used in a service with the systemd + <code>Type=notify</code>.</dd> + + </dl> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="module" id="module">Module Enhancements</a></h2> + + <dl> + <dt><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code></dt> + + <dd><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> can now be configured to use an + OCSP server to check the validation status of a client + certificate. The default responder is configurable, along with + the decision on whether to prefer the responder designated in + the client certificate itself.</dd> + + <dd><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> now also supports OCSP stapling, where the + server pro-actively obtains an OCSP verification of its certificate and + transmits that to the client during the handshake. </dd> + + <dd><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> can now be configured to share SSL Session + data between servers through memcached</dd> + + <dd>EC keys are now supported in addition to RSA and DSA.</dd> + + <dd>Support for TLS-SRP (available in 2.4.4 and later).</dd> + + <dt><code class="module"><a href="./mod/mod_proxy.html">mod_proxy</a></code></dt> + + <dd>The <code class="directive"><a href="./mod/mod_proxy.html#proxypass">ProxyPass</a></code> directive + is now most optimally configured within a + <code class="directive"><a href="./mod/core.html#location">Location</a></code> or + <code class="directive"><a href="./mod/core.html#locationmatch">LocationMatch</a></code> + block, and offers a significant performance advantage over the traditional + two-parameter syntax when present in large numbers.</dd> + <dd>The source address used for proxy requests is now configurable.</dd> + <dd>Support for Unix domain sockets to the backend (available in 2.4.7 + and later).</dd> + + <dt><code class="module"><a href="./mod/mod_proxy_balancer.html">mod_proxy_balancer</a></code></dt> + + <dd>More runtime configuration changes for BalancerMembers via balancer-manager</dd> + + <dd>Additional BalancerMembers can be added at runtime via balancer-manager</dd> + + <dd>Runtime configuration of a subset of Balancer parameters</dd> + + <dd>BalancerMembers can be set to 'Drain' so that they only respond to existing sticky + sessions, allowing them to be taken gracefully offline.</dd> + + <dd>Balancer settings can be persistent after restarts.</dd> + + <dt><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code></dt> + + <dd>The <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> CACHE filter can be optionally inserted + at a given point in the filter chain to provide fine control over caching. + </dd> + + <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> can now cache HEAD requests.</dd> + + <dd>Where possible, <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> directives can now be set + per directory, instead of per server.</dd> + + <dd>The base URL of cached URLs can be customised, so that a cluster of + caches can share the same endpoint URL prefix.</dd> + + <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> is now capable of serving stale cached + data when a backend is unavailable (error 5xx).</dd> + + <dd><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> can now insert HIT/MISS/REVALIDATE into + an X-Cache header.</dd> + + <dt><code class="module"><a href="./mod/mod_include.html">mod_include</a></code></dt> + <dd>Support for the 'onerror' attribute within an 'include' element, + allowing an error document to be served on error instead of the default + error string.</dd> + + <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>, + <code class="module"><a href="./mod/mod_isapi.html">mod_isapi</a></code>, ...</dt> + <dd>Translation of headers to environment variables is more strict than + before to mitigate some possible cross-site-scripting attacks via header + injection. Header names containing invalid characters (including underscores) + are no longer converted to environment variables. <a href="env.html">Environment Variables + in Apache</a> has some pointers on how to work around broken legacy + clients which require such headers. (This affects all modules which + use these environment variables.)</dd> + + <dt><code class="module"><a href="./mod/mod_authz_core.html">mod_authz_core</a></code> Authorization Logic Containers</dt> + + <dd>Advanced authorization logic may now be specified using the + <code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> directive + and the related container directives, such as + <code class="directive"><a href="./mod/mod_authz_core.html#requireall"><RequireAll></a></code>.</dd> + + <dt><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code></dt> + <dd><code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> adds the <code>[QSD]</code> + (Query String Discard) and <code>[END]</code> flags for + <code class="directive"><a href="./mod/mod_rewrite.html#rewriterule">RewriteRule</a></code> to + simplify common rewriting scenarios.</dd> + <dd>Adds the possibility to use complex boolean expressions in <code class="directive"><a href="./mod/mod_rewrite.html#rewritecond">RewriteCond</a></code>.</dd> + <dd>Allows the use of SQL queries as <code class="directive"><a href="./mod/mod_rewrite.html#rewritemap">RewriteMap</a></code> functions.</dd> + + <dt><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>, <code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code></dt> + <dd><code class="module"><a href="./mod/mod_authnz_ldap.html">mod_authnz_ldap</a></code> adds support for nested groups.</dd> + <dd><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code> adds + <code class="directive"><a href="./mod/mod_ldap.html#ldapconnectionpoolttl">LDAPConnectionPoolTTL</a></code>, + <code class="directive"><a href="./mod/mod_ldap.html#ldaptimeout">LDAPTimeout</a></code>, and + other improvements in the handling of timeouts. + This is especially useful for setups where a + stateful firewall drops idle connections to the LDAP server.</dd> + <dd><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code> adds + <code class="directive"><a href="./mod/mod_ldap.html#ldaplibrarydebug">LDAPLibraryDebug</a></code> to log + debug information provided by the used LDAP toolkit.</dd> + + <dt><code class="module"><a href="./mod/mod_info.html">mod_info</a></code></dt> + <dd><code class="module"><a href="./mod/mod_info.html">mod_info</a></code> can now dump the pre-parsed configuration + to stdout during server startup.</dd> + + <dt><code class="module"><a href="./mod/mod_auth_basic.html">mod_auth_basic</a></code></dt> + <dd>New generic mechanism to fake basic authentication (available in + 2.4.5 and later).</dd> + + </dl> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="programs" id="programs">Program Enhancements</a></h2> + + <dl> + <dt><code class="program"><a href="./programs/fcgistarter.html">fcgistarter</a></code></dt> + <dd>New FastCGI daemon starter utility</dd> + + <dt><code class="program"><a href="./programs/htcacheclean.html">htcacheclean</a></code></dt> + <dd>Current cached URLs can now be listed, with optional metadata + included.</dd> + <dd>Allow explicit deletion of individual cached URLs from the + cache.</dd> + <dd>File sizes can now be rounded up to the given block size, making + the size limits map more closely to the real size on disk.</dd> + <dd>Cache size can now be limited by the number of inodes, instead + of or in addition to being limited by the size of the files on + disk.</dd> + + <dt><code class="program"><a href="./programs/rotatelogs.html">rotatelogs</a></code></dt> + <dd>May now create a link to the current log file.</dd> + <dd>May now invoke a custom post-rotate script.</dd> + + <dt><code class="program"><a href="./programs/htpasswd.html">htpasswd</a></code>, <code class="program"><a href="./programs/htdbm.html">htdbm</a></code></dt> + <dd>Support for the bcrypt algorithm (available in 2.4.4 and later). + </dd> + </dl> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="documentation" id="documentation">Documentation</a></h2> + + <dl> + <dt>mod_rewrite</dt> + <dd>The <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> documentation has been + rearranged and almost completely rewritten, with a focus on + examples and common usage, as well as on showing you when other + solutions are more appropriate. The <a href="rewrite/">Rewrite + Guide</a> is now a top-level section with much more detail and + better organization.</dd> + + <dt>mod_ssl</dt> + <dd>The <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> documentation has been greatly + enhanced, with more examples at the getting started level, in + addition to the previous focus on technical details.</dd> + + <dt>Caching Guide</dt> + <dd>The <a href="caching.html">Caching Guide</a> has been rewritten + to properly distinguish between the RFC2616 HTTP/1.1 caching + features provided by <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>, and the generic + key/value caching provided by the <a href="socache.html">socache</a> + interface, as well as to cover specialised caching provided by + mechanisms such as <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>.</dd> + + </dl> + </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div> +<div class="section"> +<h2><a name="developer" id="developer">Module Developer Changes</a></h2> + + <dl> + <dt>Check Configuration Hook Added</dt> + + <dd>A new hook, <code>check_config</code>, has been added which runs + between the <code>pre_config</code> and <code>open_logs</code> + hooks. It also runs before the <code>test_config</code> hook + when the <code>-t</code> option is passed to + <code class="program"><a href="./programs/httpd.html">httpd</a></code>. The <code>check_config</code> hook + allows modules to review interdependent configuration directive + values and adjust them while messages can still be logged to the + console. The user can thus be alerted to misconfiguration problems + before the core <code>open_logs</code> hook function redirects + console output to the error log.</dd> + + <dt>Expression Parser Added</dt> + + <dd>We now have a general-purpose expression parser, whose API is + exposed in <var>ap_expr.h</var>. This is adapted from the + expression parser previously implemented in + <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>.</dd> + + <dt>Authorization Logic Containers</dt> + + <dd>Authorization modules now register as a provider, via + ap_register_auth_provider(), to support advanced authorization logic, + such as <code class="directive"><a href="./mod/mod_authz_core.html#requireall"><RequireAll></a></code>.</dd> + + <dt>Small-Object Caching Interface</dt> + + <dd>The <var>ap_socache.h</var> header exposes a provider-based + interface for caching small data objects, based on the previous + implementation of the <code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> session cache. + Providers using a shared-memory cyclic buffer, disk-based dbm + files, and a memcache distributed cache are currently + supported.</dd> + + <dt>Cache Status Hook Added</dt> + + <dd>The <code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code> module now includes a new + <code>cache_status</code> hook, which is called when the caching + decision becomes known. A default implementation is provided + which adds an optional <code>X-Cache</code> and + <code>X-Cache-Detail</code> header to the response.</dd> + </dl> + + <p>The developer documentation contains a + <a href="developer/new_api_2_4.html">detailed list of API changes</a>.</p> + </div></div> +<div class="bottomlang"> +<p><span>Available Languages: </span><a href="./en/new_features_2_4.html" title="English"> en </a> | +<a href="./fr/new_features_2_4.html" hreflang="fr" rel="alternate" title="Français"> fr </a> | +<a href="./tr/new_features_2_4.html" hreflang="tr" rel="alternate" title="Türkçe"> tr </a></p> +</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 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 Libera.chat, or sent to our <a href="https://httpd.apache.org/lists.html">mailing lists</a>.</div> +<script type="text/javascript"><!--//--><![CDATA[//><!-- +var comments_shortname = 'httpd'; +var comments_identifier = 'http://httpd.apache.org/docs/2.4/new_features_2_4.html'; +(function(w, d) { + if (w.location.hostname.toLowerCase() == "httpd.apache.org") { + d.write('<div id="comments_thread"><\/div>'); + var s = d.createElement('script'); + s.type = 'text/javascript'; + s.async = true; + s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier; + (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s); + } + else { + d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>'); + } +})(window, document); +//--><!]]></script></div><div id="footer"> +<p class="apache">Copyright 2023 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> +<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[//><!-- +if (typeof(prettyPrint) !== 'undefined') { + prettyPrint(); +} +//--><!]]></script> +</body></html>
\ No newline at end of file |