Internet existe como una colección de servidores web que albergan páginas web a las que los usuarios pueden acceder desde sus computadoras. Estos servidores deben ejecutar software de servidor para manejar las solicitudes de los usuarios. Uno de estos paquetes de software, el servidor web Apache, ofrece una solución de servidor gratuita para que los desarrolladores alojen páginas web. Como tal, se ha convertido en un programa popular para el alojamiento de sitios web. El servidor Apache funciona manejando solicitudes de URL al servidor a través de protocolos de comunicación específicos en una forma de subprocesos múltiples y extendiéndose para trabajar con lenguajes de programación y bases de datos.
URL y protocolo HTTP
Apache es un software de servidor web y, como tal, maneja principalmente las solicitudes del Protocolo de transferencia de hipertexto a través de las solicitudes de dirección del Localizador de recursos universal. Las URL son simplemente el nombre de un sitio web que los usuarios ingresan en los navegadores web para ubicar una página web. Cuando el usuario ingresa una URL, el navegador envía una solicitud HTTP a la computadora servidor que ejecuta Apache, generalmente en el puerto 80. El protocolo HTTP es el protocolo de transferencia de datos estándar de Internet para páginas web, por lo que cuando un usuario realiza una solicitud de URL a un Apache servidor, el servidor Apache manejará la solicitud HTTP y devolverá las páginas web solicitadas.
Multitarea / Subprocesamiento múltiple
Un servidor Apache manejará numerosas solicitudes HTTP a la vez. Para hacer esto, el servidor debe ejecutarse en varios "subprocesos" de ejecución. Un hilo es parte de un programa que se ramifica del programa principal y se ejecuta al mismo tiempo para realizar una tarea específica. El servidor Apache creará un nuevo hilo para cada solicitud HTTP que manejará la búsqueda y devolución de la página web solicitada. Esto permite que Apache sirva páginas web a varios usuarios al mismo tiempo.
Servicio de archivos y programas
Junto con las páginas web, el servidor Apache puede permitir a los usuarios descargar archivos a sus computadoras, que Apache también manejará a través de HTTP. Estos incluyen archivos de audio, archivos de películas o ciertos documentos como documentos de Word o PDF. Si el usuario solicita un archivo de programa para un lenguaje de secuencias de comandos, como PHP, Python o Perl, el servidor Apache ejecuta el programa y envía la salida del programa al usuario a través de HTTP. Sin embargo, para procesar solicitudes de documentos que contienen lenguajes de scripting, el servidor Apache debe tener instalado el módulo apropiado para ese lenguaje.
Paquetes de Apache
El servidor Apache viene como un paquete independiente, como parte de programas de servicio web más grandes y completo con módulos para mejorar su rendimiento. Una implementación popular del servidor Apache es la pila "LAMP" (Linux, Apache, MySQL y PHP / Perl / Python). Esta configuración empaqueta el servidor Apache con sus capacidades de servicio web con la base de datos MySQL y lenguajes de scripting como PHP para servir el contenido de la base de datos para sitios web actualizados como blogs.