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.2

Idiomas disponibles: en | es | fr | ko | pt-br | tr

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.

### Consulte también

- Comentarios

## Mejoras principales ¶

Autenticación y Autorización
  El paquete de los módulos de autenticación y autorización se han refactorizado. El nuevo módulo mod_authn_alias (eliminados en las versiones 2.3/2.4) puede simplificar de gran forma algunas configuraciones de autenticación. Vea también el cambio de nombres de los módulos, y los cambios para desarrolladores para más información sobre los cambios de como afectan a los usuarios, y a los que desarrollan módulos.
Caché
  `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`.
Configuración
  La capa de la configuración por defecto, se ha simplificado y modularizado. Se pueden utilizar fragmentos de configuración para habilitar las funciones de uso común que ahora se incluyen con Apache, y pueden ser fácilmente añadidos a la configuración del servidor principal.
Detención con elegancia
  Los módulos `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.
Funcionalidad del Proxy
  El nuevo módulo `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.
Actualización de la Librería de Expresiones Regulares
  Se ha incluido la versión 5.0 de Librería de Expresiones Regulares Compatibles Perl (PCRE). El programa `httpd` puede ser configurado para que use una instalación en el sistema de PCRE pasandole como parámetro `--with-pcre` al configure.
Filtrado Inteligente
  `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.
Soporte de Grandes Ficheros
  `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.
Eventos MPM
  El módulo `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.
Soporte de Base de Datos SQL
  El módulo `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.

## Mejoras en Módulos ¶

Autenticación y Autorización
  Los módulos en el directorio aaa se han renombrado y ofrecen mejor soporte para la autenticación implícita (digest). Por ejemplo: `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`
  Este módulo se ha traído de la versión 2.0 del módulo `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`
  Un nuevo módulo que autoriza el acceso a ficheros basándose en el propietario del fichero en el sistema operativo.
`mod_version`
  Este nuevo módulo permite que se habiliten bloques de configuración dependiendo de la versión del servidor.
`mod_info`
  Se ha añadido un nuevo argumento al `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`
  Se ha añadido soporte para el RFC 2817, que permite conexiones para que se actualicen de texto plano al cifrado TLS.
`mod_imagemap`
  `mod_imap` Se ha renombrado a `mod_imagemap` para evitar confusión en el usuario.

## Mejoras de Programas ¶

`httpd`
  Se ha añadido una nueva opción en la línea de comandos `-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ódulo`mod_so`.
`httxt2dbm`
  Un nuevo programa para generar archivos dbm desde archivos de texto como entrada, para su uso en `RewriteMap` con el mapa de tipo `dbm`.

## Cambios para desarrolladores de Módulos ¶

APR 1.0 API
  Apache 2.2 usa la API de APR. Todas las funciones y símbolos obsoletas se han eliminado de `APR` y `APR-Util`. Para mas detalles sobre dichos cambios vaya a la página de APR.
Autenticación y Autorización
  El paquete de módulos de autenticación y autorización se han renombrado como se muestra en las siguientes líneas:
  - `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ón
  Hay un nuevo esquema de proveedor de la autenticación en el backend lo que facilita en gran medida la construcción de nuevos motores de autenticación.
Registro de errores de Conexión
  Una nueva función `ap_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.
Añadido Hooks para la configuración de Test
  Un nuevo hook, `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`.
Configuración de tamaño de pila para los procesos MPM's
  Una nueva directiva, `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.
Manejo de protocolo para los filtros de salida
  En el pasado, cada filtro ha sido responsable de garantizar que genera las cabeceras de respuesta correctas donde les afecta. Los filtros ahora delegan la administración común del protocolo a los módulos `mod_filter`, usando llamadas a `ap_register_output_filter_protocol` ó `ap_filter_protocol`.
Monitor de hooks añadido
  Monitor hook habilita a los módulos a ejecutar tareas regulares o programadas en el proceso padre (raíz).
Cambio de expresiones regulares en la API
  La cabecera `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`.
DBD Framework (API de base de datos SQL)

  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.

Idiomas disponibles: en | es | fr | ko | pt-br | 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.