1 <?xml version='1.0' encoding='UTF-8' ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.es.xsl"?>
4 <!-- English Revision: 1855701 -->
5 <!-- Spanish Translation by: Luis Gil de Bernabé -->
6 <!-- Reviewed by: Sergio Ramos -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <manualpage metafile="new_features_2_4.xml.meta">
27 <title>Información General sobre las Nuevas Características en Apache HTTP Server 2.4</title>
30 <p>Este documento describe algunos de los principales cambios entre las versiones
31 2.2 y 2.4 del Servidor Apache HTTP. Para las nuevas características desde
32 versión 2.0, consulte el documento <a href="new_features_2_2.html"> 2.2 nuevas características.</a></p>
36 <title>Mejoras en el Core</title>
38 <dt>Cargas de MPM en Tiempo de Ejecución</dt>
39 <dd>Múltiples MPMs ahora se pueden <a href="mpm.html#dynamic"> construir
40 como módulos dinámicos </a>de forma que pueden ser cargados en tiempo de compilación.
41 El MPM de elección se puede configurar en tiempo de ejecución a través
42 de <directive module="mod_so"> LoadModule </directive>.</dd>
45 <dd>El <a href="mod/event.html">Evento MPM</a> ya no es experimental, lo cuál ahora está totalmente soportado.</dd>
47 <dt>Soporte Asíncrono (Asynchronous)</dt>
48 <dd>Mejor soporte para lectura y escritura asíncrona para soporte de MPM y
49 otras plataformas.</dd>
51 <dt>Configuración del Nivel de Log (LogLevel) por Módulo y Directorio</dt>
52 <dd>El <directive module="core">LogLevel</directive> puede ser configurado ahora
53 por módulo y por directorio. Nuevos niveles de <code>trace1</code>
54 a <code>trace8</code> se han añadido por encima de la etiqueta de nivel de
55 registro de log <code>debug</code>.</dd>
57 <dt>Secciones de Configuración por Petición</dt>
58 <dd><directive module="core" type="section">If</directive>,
59 <directive module="core" type="section">ElseIf</directive>,
60 y <directive module="core" type="section">Else</directive> se pueden usar
61 para establecer los criterios de configuración por cada petición.</dd>
63 <dt>Analizador de Expresión de Uso General</dt>
64 <dd>Un nuevo analizador de expresiones permite especificar
65 <a href="expr.html">condiciones complejas</a> utilizando una sintaxis común
67 <directive module="mod_setenvif">SetEnvIfExpr</directive>,
68 <directive module="mod_rewrite">RewriteCond</directive>,
69 <directive module="mod_headers">Header</directive>,
70 <directive module="core" type="section">If</directive>,
74 <dt>KeepAliveTimeout en Milisegundos</dt>
75 <dd>Ahora es posible especificar <directive module="core"
76 >KeepAliveTimeout</directive> en milisegundos.
79 <dt>Directiva NameVirtualHost</dt>
80 <dd>Ya no es necesario y ahora está en desuso.</dd>
82 <dt>Anular Configuración</dt>
83 <dd>La nueva directiva <directive module="core">AllowOverrideList</directive>
84 permite un control más exhaustivo de que directivas se permiten en los archivos <code>.htaccess</code>.</dd>
86 <dt>Variables de los Archivos de Configuración</dt>
87 <dd>Ahora es posible <directive module="core">Definir</directive>
88 variables en la configuración, lo que permite una representación más clara
89 si el mismo valor se utiliza en muchos lugares en la configuración.
92 <dt>Reducción del Uso de Memoria</dt>
93 <dd>A pesar de muchas de las nuevas características, 2.4.x tiende a usar menos
94 memoria que la versión 2.2.x. </dd>
99 <section id="newmods">
100 <title>Nuevos Módulos</title>
102 <dt><module>mod_proxy_fcgi</module></dt>
103 <dd>Protocolo FastCGI backend para<module>mod_proxy</module></dd>
105 <dt><module>mod_proxy_scgi</module></dt>
106 <dd>Protocolo SCGI backend para <module>mod_proxy</module></dd>
108 <dt><module>mod_proxy_express</module></dt>
109 <dd>Proporciona una configuración masiva y dinámica de proxys inversos para
110 <module>mod_proxy</module></dd>
112 <dt><module>mod_remoteip</module></dt>
113 <dd>Reemplaza la dirección IP remota cliente aparente y nombre de host para la solicitud
114 con la lista de direcciones IP presentada por un proxy o un balanceador de carga a través de
115 las cabeceras de solicitud.</dd>
117 <dt><module>mod_heartmonitor</module>,
118 <module>mod_lbmethod_heartbeat</module></dt>
119 <dd>Permite a <module>mod_proxy_balancer</module> basar las decisiones del balanceo de
120 carga según el número de conexiones activas en los servidores de back-end.</dd>
122 <dt><module>mod_proxy_html</module></dt>
123 <dd>antiguamente un módulo de terceros, esto apoya la fijación de enlaces
124 HTML en un proxy inverso, situación en la que el servidor genera URLs
125 que no son válidas para los clientes del proxy.</dd>
127 <dt><module>mod_sed</module></dt>
128 <dd>Un reemplazo avanzado de <module>mod_substitute</module>, permite editar el
129 cuerpo de la respuesta con el poder lleno de sed.</dd>
131 <dt><module>mod_auth_form</module></dt>
132 <dd>Habilitar la autenticación basada en formularios.</dd>
134 <dt><module>mod_session</module></dt>
135 <dd>Permite el uso de estado de sesión para clientes, utilizando cookies o
136 almacenamiento en una base de datos.</dd>
138 <dt><module>mod_allowmethods</module></dt>
139 <dd>Nuevo módulo para restringir ciertos métodos HTTP sin interferir con
140 autenticación o autorización.</dd>
142 <dt><module>mod_lua</module></dt>
143 <dd>Embebe el lenguaje<a href="http://www.lua.org/">Lua</a> en httpd,
144 para la configuración y las funciones lógicas de negocios pequeños. (Experimental)</dd>
146 <dt><module>mod_log_debug</module></dt>
147 <dd>Permite añadir mensajes de depuración personalizados en las diferentes fases del procesamiento de la solicitud.</dd>
149 <dt><module>mod_buffer</module></dt>
150 <dd>Proporciona almacenamiento en búfer para los filtros de entrada y salida de las pilas</dd>
152 <dt><module>mod_data</module></dt>
153 <dd>Convierte la respuesta del cuerpo en una dirección URL de datos RFC2397</dd>
155 <dt><module>mod_ratelimit</module></dt>
156 <dd>Proporciona limitación de velocidad en el ancho de banda para los clientes</dd>
158 <dt><module>mod_request</module></dt>
159 <dd>Proporciona filtros para manejar y hacer el cuerpo de la petición HTTP disponibles</dd>
161 <dt><module>mod_reflector</module></dt>
162 <dd>Proporciona Reflexión del cuerpo de la petición como una respuesta a través de la pila de filtro de salida.</dd>
164 <dt><module>mod_slotmem_shm</module></dt>
165 <dd>Proporciona un proveedor de memoria compartida basada en huecos (ala the scoreboard).</dd>
167 <dt><module>mod_xml2enc</module></dt>
168 <dd>Anteriormente un módulo de terceros, que apoya la internacionalización en
169 módulos de filtro (markup-aware) basada en libxml2.</dd>
171 <dt><module>mod_macro</module> (disponible desde la versión 2.4.5)</dt>
172 <dd>Provee macros para los archivos de configuración</dd>
174 <dt><module>mod_proxy_wstunnel</module> (disponible desde la versión 2.4.5)</dt>
175 <dd>Soporte a túneles web-socket.</dd>
177 <dt><module>mod_authnz_fcgi</module> (disponible desde la versión 2.4.10)</dt>
178 <dd>Habilitar aplicaciones autorizadas FastCGI para autenticar y/o autorizar a los clientes.</dd>
180 <dt><module>mod_http2</module> (disponible desde la versión 2.4.17)</dt>
181 <dd>Soporte para la capa HTTP/2</dd>
183 <dt><module>mod_proxy_hcheck</module> (disponible desde la versión 2.4.21)</dt>
184 <dd>Soporta controles dinámicos propios del estado de servidores proxys remotos</dd>
186 <dt><module>mod_brotli</module> (disponible desde la versión 2.4.26)</dt>
187 <dd>Soporte para el algoritmo de compresión Brotli.</dd>
189 <dt><module>mod_md</module> (disponible desde la versión 2.4.30)</dt>
190 <dd>Soporte para el protocolo ACME para la automatización del proceso de
191 aprovisionamiento de certificados.</dd>
193 <dt><module>mod_socache_redis</module> (disponible desde la versión 2.4.39)</dt>
194 <dd>Soporte para caché de objetos compartidos basados en <a href="htt://redis.io/">Redis</a>.</dd>
199 <section id="module">
200 <title>Mejoras de Módulos.</title>
202 <dt><module>mod_ssl</module></dt>
204 <dd><module>mod_ssl</module> ahora puede ser configurado para utilizar un servidor
205 OCSP para comprobar el estado de validez de un certificado de cliente. La respuesta por
206 defecto es configurable, junto con la decisión sobre si se debe preferir el "responder"
207 designado en el certificado de cliente en sí.</dd>
209 <dd><module>mod_ssl</module> ahora también es compatible con "OCSP stapling",
210 una respuesta de OCSP al inicial TLS "Handshake" con marca de tiempo
211 firmado por la CA , en el que el servidor obtiene de forma proactiva
212 una verificación OCSP de su certificado y transmite esa o la del cliente
213 durante el "Handshake".</dd>
216 <dd><module>mod_ssl</module> Ahora se puede configurar para compartir los datos de
217 sesión SSL entre servidores a través de memcached.</dd>
219 <dd>Claves de cifrado de tipo EC (Curva Elíptica en Inglés) son ahora
220 soportadas junto con RSA y DSA.</dd>
222 <dd>Soporte de TLS-SRP (disponible en la versión 2.4.4 y posteriores).</dd>
224 <dt><module>mod_proxy</module></dt>
226 <dd>La directiva <directive module="mod_proxy">ProxyPass</directive>
227 ahora está configurado de forma más óptima dentro de un bloque
228 <directive module="core">Location</directive> o
229 <directive module="core">LocationMatch</directive>,
230 y ofrece una ventaja de rendimiento significativa sobre la sintaxis tradicional
231 de dos parámetros cuando están presentes en gran número.</dd>
232 <dd>La dirección de origen utilizada para solicitudes de proxy es ahora configurable.</dd>
233 <dd>Soporte para sockets de dominio Unix en el backend (disponible en la versión 2.4.7
236 <dt><module>mod_proxy_balancer</module></dt>
238 <dd>Más cambios en la configuración en tiempo de ejecución para BalancerMembers
239 mediante el configurador del balanceador.</dd>
241 <dd>Se pueden agregar miembros adicionales a BalancerMembers en tiempo de ejecución
242 mediante el configurador del balanceador.</dd>
244 <dd>Configuración de ejecución de un subconjunto de parámetros Balancer</dd>
246 <dd>BalancerMembers se puede establecer en "fuga" de modo que sólo responden a las
247 sesiones problemáticas existentes, lo que les permite ser puestos con gracia fuera de línea.</dd>
249 <dd>Configuración del balanceador de carga pueden ser persistentes después de un reinicio.</dd>
251 <dt><module>mod_cache</module></dt>
253 <dd>En el módulo <module>mod_cache</module> se puede añadir filtro de cache en determinado
254 punto en la cadena de filtro, para proveer mejor control de la caché</dd>
256 <dd><module>mod_cache</module> Puede cachear ahora peticiones de tipo HEAD.</dd>
257 <dd>Siendo posible ahora las directivas <module>mod_cache</module>
258 ser configuradas por directorio en vez de por servidor.</dd>
260 <dd>La URL base de las URLs cacheadas se pueden personalizar,
261 de tal forma que un cluster de cachés puede compartir el mismo
262 prefijo URL de punto final.</dd>
264 <dd><module>mod_cache</module> ahora es capaz de servir a los datos en caché
265 antigua cuando un motor no está disponible (error 5xx).</dd>
267 <dd><module>mod_cache</module> ahora puede insertar HIT/MISS/REVALIDATE
268 en una cabecera de tipo X-Cache.</dd>
270 <dt><module>mod_include</module></dt>
271 <dd>Soporte al atributo 'onerror' dentro del elemento 'include', lo que permite
272 mostar un documento de error cuando hay un error en vez de la cadena de error por defecto.
275 <dt><module>mod_cgi</module>, <module>mod_include</module>,
276 <module>mod_isapi</module>, ...</dt>
277 <dd>La traducción de cabeceras a variables de entorno es más estricta que antes para mitigar
278 algunos de los posibles ataques de cross-site scripting, a través de la inyección de cabecera.
279 Las cabeceras que contienen carácteres no válidos (incluyendo guiones bajos)
280 son descartadas de forma silenciosa. <a href="env.html">Las variables de entorno en
281 Apache</a> tienen algunos consejos en como trabajar con clientes con sistemas heredados rotos que
282 requieren de este tipo de cabeceras. (Esto afecta a todos los módulos que
283 usan éstas variables de entorno.)</dd>
285 <dt><module>mod_authz_core</module> Autorización Lógica de Contenedores</dt>
287 <dd>Ahora puede ser especificada una lógica avanzada de autorización, usando la directiva
288 <directive module="mod_authz_core">Require</directive> y
289 las directivas de los contenedores asociados, tales como
290 <directive module="mod_authz_core"
291 type="section">RequireAll</directive>.</dd>
293 <dt><module>mod_rewrite</module></dt>
294 <dd><module>mod_rewrite</module> añade los flags <code>[QSD]</code>
295 (Query String Discard) y <code>[END]</code> para las directivas
296 <directive module="mod_rewrite">RewriteRule</directive> para
297 simplificar escenarios de reescritura comunes.</dd>
298 <dd>Añade la posibilidad de usar expresiones buleanas complejas en <directive
299 module="mod_rewrite">RewriteCond</directive>.</dd>
300 <dd>Permite el uso de queris SQL como funciones de <directive
301 module="mod_rewrite">RewriteMap</directive>.</dd>
303 <dt><module>mod_ldap</module>, <module>mod_authnz_ldap</module></dt>
304 <dd><module>mod_authnz_ldap</module> agrega soporte a grupos anidados.</dd>
305 <dd><module>mod_ldap</module> Incorpora
306 <directive module="mod_ldap">LDAPConnectionPoolTTL</directive>,
307 <directive module="mod_ldap">LDAPTimeout</directive>, y otras mejoras
308 en el manejo de los "timeouts" tiempo agotado de espera.
309 Esto es especialmente útil para escenarios en los que existe un firewall
310 en modo "Stateful" que desecha conexiones inactivas a un servidor LDAP.</dd>
311 <dd><module>mod_ldap</module> Incorpora
312 <directive module="mod_ldap">LDAPLibraryDebug</directive> para registrar información de
313 depuración proporcionada por el conjunto de herramientas usadas por LDAP.</dd>
315 <dt><module>mod_info</module></dt>
316 <dd><module>mod_info</module> ahora puede volcar la configuración pre-procesada
317 a la salida estándar durante el inicio del servidor.</dd>
319 <dt><module>mod_auth_basic</module></dt>
320 <dd>Nuevo mecanismo genérico para la autenticación básica falsa (disponible en la versión
321 2.4.5 y posteriores).</dd>
326 <section id="programs">
327 <title>Mejoras para el Programa</title>
329 <dt><program>fcgistarter</program></dt>
330 <dd>Nuevo demonio FastCGI como utilidad de arranque</dd>
332 <dt><program>htcacheclean</program></dt>
333 <dd>Ahora las URLs cacheadas actualmente, pueden ser listadas, con meta-datos adicionales incluidos.</dd>
334 <dd>Permite el borrado explicito y selectivo de URLs cacheadas.</dd>
335 <dd>Los tamaños de archivo ahora se pueden redondear hasta el tamaño de bloque determinado,
336 por lo que los límites de tamaño se asemeja más estrechamente con el tamaño real en el disco.</dd>
337 <dd>El tamaño de la caché ahora puede ser limitado por el número de i-nodos,
338 en vez de o como añadido, al limite del tamaño del archivo en el disco.</dd>
340 <dt><program>rotatelogs</program></dt>
341 <dd>Ahora puede crear un enlace al propio fichero de log.</dd>
342 <dd>Ahora puede invocar a un escript personalizado pos-rotate.</dd>
344 <dt><program>htpasswd</program>, <program>htdbm</program></dt>
345 <dd>Soporta el algoritmo bcrypt (disponible en la versión 2.4.4 y posteriores).
350 <section id="documentation">
351 <title>Documentación</title>
354 <dd>La documentación de <module>mod_rewrite</module> ha sido reorganizada
355 y casi escrita por completo, poniendo énfasis en ejemplos y modos de empleo
356 más comunes, así como enseñarle que otras soluciones son más apropiadas.
358 La <a href="rewrite/">guía del módulo Rewrite</a> es ahora ahora es una
359 sección de nivel superior con mucho más detalle y una mejor organización.</dd>
362 <dd>La documentación del módulo <module>mod_ssl</module> ha sido mejorada en gran medida,
363 con más ejemplos a nivel de la instalación inicial, además del enfoque técnico anterior.</dd>
365 <dt>Guía de Cachés</dt>
366 <dd>La <a href="caching.html">guía de caché</a> ha sido reescrita para distinguir propiamente
367 entre la caché del RFC2616 HTTP/1.1 y sus características
368 aportadas por <module>mod_cache</module>, y el caso general de cache de valor/clave
369 aportado por la interfaz <a href="socache.html">socache</a>,
370 así como cubrir temas específicos como los mecanismos de caché aportados por el módulo
371 <module>mod_file_cache</module>.</dd>
376 <section id="developer">
377 <title>Cambios en los Desarrollos de Módulos</title>
379 <dt>Añadido Hook de Comprobación de Configuración</dt>
381 <dd>El nuevo Hook, <code>check_config</code>, ha sido añadido el cuál se ejecuta entre
382 los hooks <code>pre_config</code> y <code>open_logs</code>.
383 También se ejecuta antes del hook <code>test_config</code> cuando la opción
384 <code>-t</code> se le pasa al <program>httpd</program>. El hook <code>
385 check_config</code> permite a los módulos revisar los valores en las
386 directivas de configuraciones de forma independiente y ajustarlos mientras
387 mensajes pueden seguir siendo logados a la consola.
389 El usuario puede así ser alertado de problemas de mala
390 configuración antes de que la función hook <code>open_logs</code>
391 redireccione la salida de la consola
392 al log de error.</dd>
394 <dt>Añadido un Analizador de Expresiones</dt>
396 <dd>Ahora tenemos un analizador de expresiones de propósito general, y su API está
397 expuesta en <var>ap_expr.h</var>. Esto es una adaptación del que había anteriormente
398 implementado en <module>mod_ssl</module>.</dd>
400 <dt>Autorización Lógica de Contenedores</dt>
402 <dd>Los módulos de autorización ahora se registran como un proveedor, mediante
403 <code>ap_register_auth_provider()</code>, para soportar lógicas de autorización avanzadas,
404 como la directiva <directive module="mod_authz_core" type="section"
405 >RequireAll</directive>.</dd>
407 <dt>Interfaz de Almacenamiento en Caché de Objetos Pequeños</dt>
409 <dd>La cabecera <var>ap_socache.h</var> expone una interfaz basada en proveedor
410 de objetos de datos para la captura de pequeños, basado en la
411 aplicación anterior de caché de sesión del módulo <module>mod_ssl</module>.
412 Los proveedores que utilizan una memoria compartida de búfer cíclico,
413 archivos dbf basados en disco, y una memoria caché distribuida
414 memcache están soportados actualmente.</dd>
416 <dt>Añadido Hook de Estado de la Caché</dt>
418 <dd>El módulo <module>mod_cache</module> ahora incluye un nuevo hook
419 <code>cache_status</code>, que es llamado cuando las
420 decisiones de caché son conocidas. Se provee una implementación
421 por defecto que añade a la cabecera de la respuesta de forma
422 opcional <code>X-Cache</code> y <code>X-Cache-Detail</code>.</dd>
425 <p>La documentación de desarrolladores contiene una
426 <a href="developer/new_api_2_4.html">lista detallada de los cambios realizados