Versión 2.5 del Servidor HTTP Apache

Apache > Servidor HTTP > Documentación > Versión 2.5

# Información General sobre las Nuevas Características en Apache HTTP Server 2.4

Idiomas disponibles: en | es | fr | tr

Esta traducción podría estar obsoleta. Consulte la versión en inglés de la documentación para comprobar si se han producido cambios recientemente.

Este documento describe algunos de los principales cambios entre las versiones 2.2 y 2.4 del Servidor Apache HTTP. Para las nuevas características desde versión 2.0, consulte el documento 2.2 nuevas características.

### Consulte también

- Comentarios

## Mejoras en el Core ¶

Cargas de MPM en Tiempo de Ejecución
  Múltiples MPMs ahora se pueden construir como módulos dinámicos de forma que pueden ser cargados en tiempo de compilación. El MPM de elección se puede configurar en tiempo de ejecución a través de `LoadModule` .
Evento MPM
  El Evento MPM ya no es experimental, lo cuál ahora está totalmente soportado.
Soporte Asíncrono (Asynchronous)
  Mejor soporte para lectura y escritura asíncrona para soporte de MPM y otras plataformas.
Configuración del Nivel de Log (LogLevel) por Módulo y Directorio
  El `LogLevel` puede ser configurado ahora por módulo y por directorio. Nuevos niveles de `trace1` a `trace8` se han añadido por encima de la etiqueta de nivel de registro de log `debug`.
Secciones de Configuración por Petición
  `<If>`, `<ElseIf>`, y `<Else>` se pueden usar para establecer los criterios de configuración por cada petición.
Analizador de Expresión de Uso General
  Un nuevo analizador de expresiones permite especificar condiciones complejas utilizando una sintaxis común en directivas como `SetEnvIfExpr`, `RewriteCond`, `Header`, `<If>`, entre otras.
KeepAliveTimeout en Milisegundos
  Ahora es posible especificar `KeepAliveTimeout` en milisegundos.
Directiva NameVirtualHost
  Ya no es necesario y ahora está en desuso.
Anular Configuración
  La nueva directiva `AllowOverrideList` permite un control más exhaustivo de que directivas se permiten en los archivos `.htaccess`.
Variables de los Archivos de Configuración
  Ahora es posible `Definir` variables en la configuración, lo que permite una representación más clara si el mismo valor se utiliza en muchos lugares en la configuración.
Reducción del Uso de Memoria
  A pesar de muchas de las nuevas características, 2.4.x tiende a usar menos memoria que la versión 2.2.x.

## Nuevos Módulos ¶

`mod_proxy_fcgi`
  Protocolo FastCGI backend para`mod_proxy`
`mod_proxy_scgi`
  Protocolo SCGI backend para `mod_proxy`
`mod_proxy_express`
  Proporciona una configuración masiva y dinámica de proxys inversos para `mod_proxy`
`mod_remoteip`
  Reemplaza la dirección IP remota cliente aparente y nombre de host para la solicitud con la lista de direcciones IP presentada por un proxy o un balanceador de carga a través de las cabeceras de solicitud.
`mod_heartmonitor`, `mod_lbmethod_heartbeat`
  Permite a `mod_proxy_balancer` basar las decisiones del balanceo de carga según el número de conexiones activas en los servidores de back-end.
`mod_proxy_html`
  antiguamente un módulo de terceros, esto apoya la fijación de enlaces HTML en un proxy inverso, situación en la que el servidor genera URLs que no son válidos para los clientes del proxy.
`mod_sed`
  Un reemplazo avanzado de `mod_substitute`, permite editar el cuerpo de la respuesta con el poder lleno de sed.
`mod_auth_form`
  Habilitar la autenticación basada en formularios.
`mod_session`
  Permite el uso de estado de sesión para clientes, utilizando cookies o el almacenamiento en una base de datos.
`mod_allowmethods`
  Nuevo módulo para restringir ciertos métodos HTTP sin interferir con autenticación o autorización.
`mod_lua`
  Embebe el lenguajeLua en httpd, para la configuración y las funciones lógicas de negocios pequeños. (Experimental)
`mod_log_debug`
  Permite añadir mensajes de depuración personalizados en las diferentes fases del procesamiento de la solicitud.
`mod_buffer`
  Proporciona almacenamiento en búfer para los filtros de entrada y salida de las pilas
`mod_data`
  Convierte la respuesta del cuerpo en una dirección URL de datos RFC2397
`mod_ratelimit`
  Proporciona limitación de velocidad en el ancho de banda para los clientes
`mod_request`
  Proporciona filtros para manejar y hacer el cuerpo de la petición HTTP disponibles
`mod_reflector`
  Proporciona Reflexión del cuerpo de la petición como una respuesta a través de la pila de filtro de salida.
`mod_slotmem_shm`
  Proporciona un proveedor de memoria compartida basada en la ranura (ala the scoreboard).
`mod_xml2enc`
  Anteriormente un módulo de terceros, que apoya la internacionalización en módulos de filtro (markup-aware) basada en libxml2.
`mod_macro` (disponible desde la versión 2.4.5)
  Provee macros para los archivos de configuración
`mod_proxy_wstunnel` (disponible desde la versión 2.4.5)
  Soporte a túneles web-socket.
`mod_authnz_fcgi` (disponible desde la versión 2.4.10)
  Habilitar aplicaciones autorizadas FastCGI para autenticar y/o autorizar a los clientes.
`mod_http2` (disponible desde la versión 2.4.17)
  Soporte para la capa HTTP/2
`mod_proxy_hcheck` (disponible desde la versión 2.4.21)
  Soporta chekeos dinámicos propios del estado de servidores proxys remotos

## Mejoras de Módulos. ¶

`mod_ssl`
  `mod_ssl` ahora puede ser configurado para utilizar un servidor OCSP para comprobar el estado de validez de un certificado de cliente. La respuesta por defecto es configurable, junto con la decisión sobre si se debe preferir el "responder" designado en el certificado de cliente en sí.
  `mod_ssl` ahora también es compatible con "OCSP stapling", una respuesta de OCSP al inicial TLS "Handshake" con marca de tiempo firmado por la CA , en el que el servidor obtiene de forma proactiva una verificación OCSP de su certificado y transmite esa o la del cliente durante el "Handshake".
  `mod_ssl` Ahora se puede configurar para compartir los datos de sesión SSL entre servidores a través de memcached.
  Claves de cifrado de tipo EC (Curva Elíptica en Inglés) son ahora soportadas junto con RSA y DSA.
  Soporte de TLS-SRP (disponible en la versión 2.4.4 y posteriores).
`mod_proxy`
  La directiva `ProxyPass` ahora está configurado de forma más óptima dentro de un bloque `Location` o `LocationMatch`, y ofrece una ventaja de rendimiento significativa sobre la sintaxis tradicional de dos parámetros cuando están presentes en gran número.
  La dirección de origen utilizada para solicitudes de proxy es ahora configurable.
  Soporte para sockets de dominio Unix en el backend (disponible en la versión 2.4.7 y posteriores).
`mod_proxy_balancer`
  Más cambios en la configuración en tiempo de ejecución para BalancerMembers mediante el manager del balanceador.
  Se pueden agregar miembros adicionales a BalancerMembers en tiempo de ejecución mediante el manager del balanceador.
  Configuración de ejecución de un subconjunto de parámetros Balancer
  BalancerMembers se puede establecer en "fuga" de modo que sólo responden a las sesiones problemáticas existentes, lo que les permite ser puestos con gracia fuera de línea.
  Configuración del balanceador de carga pueden ser persistentes después de un reinicio.
`mod_cache`
  En el módulo `mod_cache` se puede añadir filtro de cache en determinado punto en la cadena de filtro, para proveer mejor control de la caché
  `mod_cache` Puede cachear ahora peticiones de tipo HEAD.
  Siendo posible ahora las directivas `mod_cache` ser configuradas por directorio en vez de por servidor.
  La URL base de las URLs cacheadas se pueden personalizar, de tal forma que un cluster de cachés puede compartir el mismo prefijo URL de punto final.
  `mod_cache` ahora es capaz de servir a los datos en caché antigua cuando un motor no está disponible (error 5xx).
  `mod_cache` ahora puede insertar HIT/MISS/REVALIDATE en una cabecera de tipo X-Cache.
`mod_include`
  Soporte al atributo 'onerror' dentro del elemento 'include', lo que permite mostar un documento de error cuando hay un error en vez de la cadena de error por defecto.
`mod_cgi`, `mod_include`, `mod_isapi`, ...
  La traducción de cabeceras a variables de entorno es más estricta que antes para mitigar algunos de los posibles ataques de cross-site scripting, a través de la inyección de cabecera. Las cabeceras que contienen carácteres no válidos (incluyendo guiones bajos) son descartadas de forma silenciosa. Las variables de entorno en Apache tienen algunos consejos en como trabajar con clientes con sistemas heredados rotos que requieren de este tipo de cabeceras. (Esto afecta a todos los módulos que usan éstas variables de entorno.)
`mod_authz_core` Autorización Lógica de Contenedores
  Ahora puede ser especificada una lógica avanzada de autorización, usando la directiva `Require` y las directivas de los contenedores asociados, tales como `<RequireAll>`.
`mod_rewrite`
  `mod_rewrite` añade los flags `[QSD]` (Query String Discard) y `[END]` para las directivas `RewriteRule` para simplificar escenarios de reescritura comunes.
  Añade la posibilidad de usar expresiones buleanas complejas en `RewriteCond`.
  Permite el uso de queris SQL como funciones de `RewriteMap`.
`mod_ldap`, `mod_authnz_ldap`
  `mod_authnz_ldap` agrega soporte a grupos anidados.
  `mod_ldap` Incorpora `LDAPConnectionPoolTTL`, `LDAPTimeout`, y otras mejoras en el manejo de los "timeouts" tiempo agotado de espera. Esto es especialmente útil para escenarios en los que existe un firewall en modo "Stateful" que desecha conexiones inactivas a un servidor LDAP.
  `mod_ldap` Incorpora `LDAPLibraryDebug` para registrar información de depuración proporcionada por el conjunto de herramientas usadas por LDAP.
`mod_info`
  `mod_info` ahora puede volcar la configuración pre-procesada a la salida estándar durante el inicio del servidor.
`mod_auth_basic`
  Nuevo mecanismo genérico para la autenticación básica falsa (disponible en la versión 2.4.5 y posteriores).

## Mejoras para el Programa ¶

`fcgistarter`
  Nuevo demonio FastCGI como utilidad de arranque
`htcacheclean`
  Ahora las URLs cacheadas actualmente, pueden ser listadas, con meta-datos adicionales incluidos.
  Permite el borrado explicito y selectivo de URLs cacheadas.
  Los tamaños de archivo ahora se pueden redondear hasta el tamaño de bloque determinado, por lo que los límites de tamaño se asemeja más estrechamente con el tamaño real en el disco.
  El tamaño de la caché ahora puede ser limitado por el número de i-nodos, en vez de o como añadido, al limite del tamaño del archivo en el disco.
`rotatelogs`
  Ahora puede crear un enlace al propio fichero de log.
  Ahora puede invocar a un escript personalizado pos-rotate.
`htpasswd`, `htdbm`
  Soporta el algoritmo bcrypt (disponible en la versión 2.4.4 y posteriores).

## Documentación ¶

mod_rewrite
  La documentación de `mod_rewrite` ha sido reorganizada y casi escrita por completo, poniendo énfasis en ejemplos y modos de empleo más comunes, así como enseñarle que otras soluciones son más apropiadas. La guía del módulo Rewrite es ahora ahora es una sección de nivel superior con mucho más detalle y una mejor organización.
mod_ssl
  La documentación del módulo `mod_ssl` ha sido mejorada en gran medida, con más ejemplos a nivel de la instalación inicial, además del enfoque técnico anterior.
Guía de Cachés
  La guía de caché ha sido reescrita para distinguir propiamente entre la caché del RFC2616 HTTP/1.1 y sus características aportadas por `mod_cache`, y el caso general de cache de valor/clave aportado por la interfaz socache, así como cubrir temas específicos como los mecanismos de caché aportados por el módulo `mod_file_cache`.

## Cambios en los Desarrollos de Módulos ¶

Añadido Hook de Comprobación de Configuración
  El nuevo Hook, `check_config`, ha sido añadido el cuál se ejecuta entre los hooks `pre_config` y `open_logs`. También se ejecuta antes del hook `test_config` cuando la opción `-t` se le pasa al `httpd`. El hook `check_config` permite a los módulos revisar los valores en las directivas de configuraciones de forma independiente y ajustarlos mientras mensajes pueden seguir siendo logados a la consola. El usuario puede así ser alertado de problemas de mala configuración antes de que la función hook `open_logs` redireccione la salida de error por la consola al log de error.
Añadido un Analizador de Expresiones
  Ahora tenemos un analizador de expresiones de propósito general, y su API está expuesta en ap_expr.h. Esto es una adaptación del que había anteriormente implementado en `mod_ssl`.
Autorización Lógica de Contenedores
  Los módulos de autorización ahora se registran como un proveedor, mediante `ap_register_auth_provider()`, para soportar lógicas de autorización avanzadas, como la directiva `<RequireAll>`.
Interfaz de Almacenamiento en Caché de Objetos Pequeños
  La cabecera ap_socache.h expone una interfaz basada en proveedor de objetos de datos para la captura de pequeños, basado en la aplicación anterior de caché de sesión del módulo `mod_ssl`. Los proveedores que utilizan una memoria compartida de búfer cíclico, archivos dbf basados en disco, y una memoria caché distribuida memcached están soportados actualmente.
Añadido Hook de Estado de la Caché
  El módulo `mod_cache` ahora incluye un nuevo hook `cache_status`, que es llamado cuando las decisiones de caché son conocidas. Se provee una implementación por defecto que añade a la cabecera de la respuesta de forma opcional `X-Cache` y `X-Cache-Detail`.

La documentación de desarrolladores contiene una lista detallada de los cambios realizados en la API.

Idiomas disponibles: en | es | fr | tr

## Comentarios

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.