Servidor HTTP Apache
El servidor HTTP Apache (Apache) es un servidor HTTP de código abierto creado y mantenido dentro de la Fundación Apache. Este es el servidor Web HTTP Mundial más popular. Se distribuye bajo la licencia Apache.
Historia de Apache
Apache apareció en abril de 1995. Al principio era una colección de revisiones y adiciones a NCSA HTTPd Servidor 1.3, que estaba en el dominio público y el servidor HTTP, el más común. A partir de este origen, muchas personas afirman que el nombre de Apache viene de un servidor de parches o «un servidor modificado.» A partir de entonces, Apache ha sido completamente reescrito, por lo que, en la versión 2, no hay un rastro de NCSA HTTPd.
Inicialmente Apache era la única alternativa seria y libre para el servidor HTTP Netscape (iPlanet, Sun ONE ahora). Desde abril de 1996, de acuerdo con el estudio en curso de Netcraft, Apache HTTP se ha convertido en la más extendida en el servidor de Internet.
Cuota de mercado de Apache:
En mayo de 1999, se estaba convirtiendo el 57% de los servidores Web a principios de 2004, era alrededor del 69% de cuota de mercado.3 sólo celebró 50,61% del mercado a finales de enero de 2008.
En febrero de 2008, Apache representa 50.93% de las acciones.
En noviembre de 2008, 72,45% de cuota de mercado para Apache.
En noviembre de 2011, 65,00% de cuota de mercado para Apache
En mayo de 2014, 38.00% de la cuota de mercado de 33,00% para Apache y Microsoft
Apache versión 2 tiene varias mejoras importantes en comparación a la versión 1, incluyendo soporte para múltiples plataformas (Windows, Linux y UNIX, y otros), el apoyo a los procesos de UNIX, una nueva API y soporte de peso ligero IPv6.
Apache (Apache Software Foundation o ASF) Fundación se creó en 1999 a partir del grupo Apache (Apache Group) haciendo que el servidor en 1995 Desde entonces, muchos otros programas útiles para la World Wide Web ha desarrollado junto con el servidor HTTP.
Disponibilidad de Apache
Apache se ejecuta principalmente en los sistemas operativos UNIX (Linux, Mac OS X, Solaris, BSD y UNIX) y Windows. La versión de Windows se considera estable desde el Apache 1.2. Apache es utilizado por muchos productos, como IBM WebSphere y Oracle Corporation.
Funcionalidades de Apache
Apache está diseñado para soportar muchos módulos que dan características adicionales: interpretación de Perl, PHP, Python y Ruby, servidor proxy, Common Gateway Interface, el lado del servidor, la reescritura de URL, la negociación de contenido, protocolos de comunicación adicional, etc Sin embargo, cabe señalar que la existencia de muchos módulos de Apache complica la configuración del servidor Web. De hecho, es una buena práctica para cargar únicamente los módulos necesarios: muchas vulnerabilidades de seguridad que afectan sólo a los módulos de Apache se descubren regularmente.
Entre las herramientas que ayudan a mantener los archivos de registro de Apache se pueden analizar utilizando muchos scripts y software de código abierto como AWStats, Webalizer o W3Perl. Varias interfaces gráficas de facilitar la configuración del servidor.
Históricamente, Apache se ejecuta Prefork, lo que significa que un proceso padre comenzó con amplios derechos (root) comienza a procesos secundarios, cada uno de los cuales se abordarán una serie de peticiones de los clientes. Sin embargo, en Linux, el proceso de multiplicación provoca un aumento en el consumo de recursos (memoria, descriptores de archivos).
En el modo Trabajador, Apache lanza hilos que manejarán las peticiones entrantes. La diferencia es que este es un modo preferente en el que el proceso padre prepara recursos para sus hilos. Algunos módulos desarrollados por terceros, o librerías utilizadas por estos módulos no pueden a veces ser diseñados para operar en un entorno multi-hilo, y en este caso pueden causar problemas si se usa en combinación con el modo de Trabajador.
Desde la versión 2.4, el módulo de eventos está disponible en producción. Es un derivado del modo de funcionamiento trabajador excepción de que los hilos no sólo sirven una conexión de cliente, pero pueden realizar varias tareas de forma independiente de la conexión. Por lo tanto, los conceptos de KeepAlive se manejan mejor en el sentido de que un hilo está esperando la conexión que se completará a servir a otro. Más claramente, el hilo sirve una petición, no una conexión.