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_ldap
mod_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_owner
mod_version
mod_info
config
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_ssl
mod_imagemap
mod_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
.
httxt2dbm
RewriteMap
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.