Versión 2.5 del Servidor HTTP Apache

Este documento describe algunos de los principales cambios entre las versiones 2.0 y 2.2 del Servidor Apache HTTP. Para las nuevas características desde la versión 1.3, consulte 2.0 nuevas características.
mod_cache, mod_cache_disk, y
mod_mem_cache (eliminados en las versiones 2.3/2.4) han sufrido muchos
cambios, y ahora se consideran en calidad de producción.
El programa htcacheclean se ha introducido
para limpiar los setups de mod_cache_disk.
prefork, worker y
event MPMs(módulos de procesos múltiples) ahora
permiten a httpd ser apagado/parado con elegancia
mediante la señal
graceful-stop.
La directiva GracefulShutdownTimeout se ha añadidos
para especificar un tiempo opcional, tras el cual el
httpd se parará independientemente del estado de
cualquier petición que se esté sirviendo.mod_proxy_balancer proporciona un
servicio de balanceo de carga para el módulo mod_proxy.
El nuevo módulo mod_proxy_ajp añade soporte para el
Protocolo JServ versión 1.3 de Apache usado por
Apache Tomcat.httpd
puede ser configurado para que use una instalación en el sistema
de PCRE pasandole como parámetro --with-pcre
al configure.mod_filter introduce una configuración dinámica
a la cadena de filtro de salida. Habilita que los filtros sean insertados
de forma condicional, basado en cualquier cabecera de petición o respuesta
o una variable de entorno, y prescinde de las dependencias más problemáticas
así como problemas de ordenación en la arquitectura 2.0.httpd es creado ahora con soporte para ficheros
mayores de 2GB en los sistemas Unix modernos de 32-bits. También el soporte
para el manejo de cuerpos de respuesta >2GB ha sido añadido.event MPM usa un hilo separado para el manejo
de las peticiones Keep Alive y aceptar las conexiones. Las peticiones de
Keep Alive tradicionalmente han requerido un "worker" de httpd para su manejo.
Este "worker" dedicado no puede ser utilizado otra vez hasta que el Keep Alive
haya expirado su tiempo de conexión.
mod_dbd, junto con el framework
apr_dbd, nos trae soporte directo de SQL para los módulos
que lo necesitan. Es compatible con la agrupación de conexiones
en procesos MPM.mod_auth se ha dividido ahora en
mod_auth_basic y
mod_authn_file; mod_auth_dbm ahora
se llama mod_authn_dbm; mod_access ha
sido renombrado a mod_authz_host. También hay un nuevo
módulo mod_authn_alias( ya eliminado en las versiones 2.3/2.4) para
simplificar algunas configuraciones de autenticación.
mod_authnz_ldapmod_auth_ldap a la versión 2.2 del framework de
Autenticación/Autorización. Las nuevas características
incluyen el uso de valores de LDAP y filtros de búsqueda complejos
para la directiva
Require.mod_authz_ownermod_versionmod_infoconfig que muestra
las configuraciones de las directivas que se le pasan a Apache, incluyendo
los nombres de los ficheros y en que linea se encuentra dicha configuración.
Este módulo además muestra en orden todas las peticiones de hooks y información
adicional a la hora de compilar, similar a httpd -V.mod_sslmod_imagemapmod_imap Se ha renombrado a
mod_imagemap para evitar confusión en el usuario.
httpd-M,
dicha opción lista todos los módulos que se cargan basándose en la
configuración actual. A diferencia de la opción -l, esta lista
incluye los DSOs cargados mediante el módulomod_so.
httxt2dbmRewriteMap
con el mapa de tipo dbm.APR y
APR-Util. Para mas detalles sobre dichos cambios
vaya a la
página de APR.mod_auth_* -> Módulos que implementan un mecanismo de
autenticación por HTTP.mod_authn_* -> Módulos que proporcionan un backend
proveedor de autenticación.mod_authz_* -> Módulos que implementan autorización
(o acceso)mod_authnz_* -> Módulo que implementa ambas opciones
autenticación & autorizaciónap_log_cerror ha sido añadida para
registrar los errores que ocurren en la conexión del cliente. Cuando se
registra el error, el mensaje incluye la dirección IP del cliente.test_config se ha añadido para ayudar a
los módulos que necesitan ejecutar sólo código especial cuando el usuario
pasa como parámetro -t a httpd.ThreadStackSize se ha añadido para configurar
el tamaño de la pila de todos los hilos de MPMs. Esta directiva
es requerida por algún módulo de terceros en plataformas que tienen
por defecto una pila con un tamaño pequeño.mod_filter, usando llamadas a
ap_register_output_filter_protocol ó
ap_filter_protocol.pcreposix.h ya no esta disponible;
se ha cambiado por la nueva ap_regex.h. La
implementación POSIX.2 de regex.h expuesta por la cabecera
antigua, está ahora disponible en el espacio de nombre con ap_
en la cabecera ap_regex.h. llama a regcomp,
regexec y así sucesivamente pueden ser sustituidos por
llamadas a ap_regcomp, ap_regexec.Con Apache 1.x y 2.0, algunos módulos que requieren un backend de SQL deben tomar la responsabilidad de gestionar por sí mismos. Aparte de reinventar la rueda, esto puede llegar a ser ineficiente, por ejemplo cuando varios módulos cada uno mantiene su propia conexión.
Las versiones de Apache posteriores a la 2.1 proporciona la API de ap_dbd
para el manejo de las conexiones a las bases de datos (incluyendo estrategia
optimizadas para los hilos o no de MPMs), mientras que las versiones de
APR 1.2 y posteriores proporciona la API apr_dbd para
interactuar con la base de datos.
Los nuevos módulos DEBEN usar estas APIs para todas las operaciones en bases de datos SQL. Aplicaciones existentes DEBEN ser actualizadas para que lo usen cuando sea posible, de forma transparente o como opción recomendada para sus usuarios.