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