Para que funcione una página web en Internet, cualquiera de las que visitamos todos los días o incluso está misma donde estás ahora, se necesita un servidor web.
Uno de los servidores web más usados en todo Internet se llama Apache y aunque su uso ya no es tan extendido como hace unos años, en los que llegó a superar el 70% de cuota del mercado, sigue siendo la opción preferida de muchos usuarios. Vamos a contarte qué es Apache y cómo funciona, pero sin entrar en tecnicismos, para que cualquiera pueda entenderlo, aunque no tenga conocimientos sobre la materia.
Como hemos dicho antes, Apache es un servidor web, pero en realidad es el software que se instala en un ordenador para que pueda convertirse en un servidor web. Digamos que en tu ordenador personal tienes instalado un software, un sistema operativo que lo hace funcionar, como por ejemplo Windows o Linux.
Un servidor no es más que un ordenador, eso sí, con muchos recursos y conectados a una red con mucho ancho de banda, todos los días del año y a todas horas, pero un ordenador al fin de al cabo.
Para que esa máquina pueda convertirse en un servidor web necesita tener un software instalado y ese software seria, en nuestro caso, Apache.
De hecho, si accedes a la web de Apache, verás que en realidad se llama Apache HTTP Server, aunque popularmente hablamos de Apache como si del servidor físico se tratara, en realidad no lo es y es algo que es bueno conocer.
Por otro lado, HTTP es el protocolo que se encarga de comunicar los navegadores web como Chrome, Safari o Firefox, con un servidor para mostrar páginas web, así que el nombre completo de Apache, Apache HTTP Server, nos indica que se trata de un servidor HTTP.
Por qué es tan popular Apache web server
Servidores web hay varios, aunque Apache es uno de los más populares que existe y hasta hace poco el número uno, siendo el 2º más usado, por poco, en el momento de escribir este artículo.
Su popularidad se debe a muchos factores, pero el principal es que se trata de un proyecto Open Source, es decir, de código abierto y por lo tanto no hay que pagar por usarlo.
Esto quiere decir que puedes descargarlo para instalarlo, por ejemplo, en tu ordenador o en un servidor VPS, algo que tiene más sentido si quieres utilizarlo en algún proyecto web, pero sin tener que pagar una licencia de uso.
Pero este es sólo uno de los puntos importantes en el grado de popularidad de Apache, ya que, si fuera un más software y no funcionara bien, no serviría de mucho. Otro de sus puntos fuertes es su robustez, pese a ser un programa de código abierto y no tener una poderosa empresa detrás con un montón de recursos económicos, Apache funciona muy bien.
Tiene ya unos cuantos años a su espalda, salió a la luz en 1995 y durante todos estos años de uso ha conseguido ser muy robusto y confiable, algo muy importante para muchos usuarios. Otra ventaja es que lo conocen todos los desarrolladores y es súper compatible con todo tipo de software.
Aplicaciones muy conocidas como WordPress, Joomla o PrestaShop trabajan con Apache sin ningún tipo de problema, de hecho, se trata de su entorno "natural". Otra de sus ventajas es que es compatible con el archivo htaccess, que es el archivo encargado de la configuración de la web en un hosting basado en Linux. Quizás esto último no te suene mucho, pero se trata de un archivo muy importante y si Apache no fuera compatible con él, sería un problema importante para muchos desarrolladores y usuarios.
Y antes de que te asustes porque estamos hablando de Linux, debes comprender que se trata del sistema operativo del servidor, que nada tiene que ver con el que tú uses en tu ordenador. Por ejemplo, si quieres usar WordPress, lo harás desde un hosting Linux, aunque uses Windows en tu PC. Y, por último, aunque el hábitat natural de Apache es Linux, es multiplataforma, así que podrás usarlo con otros sistemas operativos, como Windows o macOS.
Cómo funciona Apache
En el aspecto técnico, Apache funciona como cualquier otro servidor web. Se trata de gestionar las peticiones HTTP (Protocolo de transferencia de hipertexto), que realiza un navegador web a un servidor.
Por ejemplo, cuando entras con tu navegador habitual a cualquier web, lo que estás haciendo es una petición. El navegador web le pide al servidor los archivos HTML, CSS, JavaScript, imágenes, vídeos, etc... y el servidor se encarga de, nunca mejor dicho, servirlos mediante el protocolo de transferencia HTTP. Estamos hablando de una navegador web, pero en realidad las peticiones también la pueden realizar aplicaciones, apps de móviles, etc..., pero el principio es el mismo.
Con Apache se puede personalizar los recursos que se necesite, ya que usa un sistema de módulos, por lo que es posible configurarlo acorde a las necesidades del servicio.
Alternativas a Apache
Si bien el servidor web Apache es uno de los más utilizados, la competencia existe y hay otras alternativas para los usuarios que tengan otras necesidades o busquen un rendimiento superior.
Una de las principales ventajas de Apache, es también uno de sus inconvenientes y es el rendimiento para gestionar sitios con muchas peticiones.
Si bien es perfectamente capaz de trabajar correctamente bien en la mayoría de los sitios web, cada vez hay más usuarios de Internet y esto hace que existan sitios que tengan que soportar mucho tráfico y en este punto es donde los rivales de Apache le superan.
Nginx
Según las últimas estadísticas de uso, el servidor web Nginx es el más usado actualmente. Usa una arquitectura distinta a la de Apache, lo que le permite lidiar mejor con las grandes solicitudes de peticiones y esta es una de las grandes bazas de Nginx.
También es software libre, así que puede ser utilizado sin tener que pagar por ello, aunque se comercializa una versión llamada Nginx Plus, orientada a empresas. Uno de los "problemas" que tiene Nginx es que no es compatible con los archivos htaccess, aunque tiene su propio archivo de configuración, pero en algunas circunstancias es un impedimento.
Nginx también puede ser utilizado com proxy inverso para entregar contenido estático o utilizarlo como caché. Es posible utilizar un servidor web Apache con Nginx actuando como proxy inverso, lo que amplia aún más su uso.
LiteSpeed
LiteSpeed es otro de los competidores más utilizados como alternativa de Apache.
La principal diferencia es que LiteSpeed no es Open Source, por lo que lo que no puedes utilizarlo de forma gratuita y hay que pagar una licencia de uso.
Existe una versión gratuita, aunque con muchas menos características que la opción de pago. La gran baza de LiteSpeed es su rendimiento, que puede superar Nginx, pero además es compatible con los archivos htaccess, por lo que su integración o cambio desde Apache da muchos menos problemas.
También es muy efectivo con el contenido caché y tiene plugins y módulos gratuitos creados para aprovecharlo en los CMS más populares, como pueden ser WordPress, Joomla, Magento o PrestaShop.
IIS
No todo funciona con PHP y Linux, Microsoft y sus tecnologías también están ahí, así que si quieres utilizar ASP.NET o bases de datos MSSQL, el servidor web que necesitarías es IIS. Aunque es gratuito, si quieres usarlo en un servidor con Windows Server habrá que pagar esta licencia, pero si quieres utilizar la infraestructura de Microsoft, es la opción que tienes.
Conclusión
Seguro que después de leer este artículo ya tienes algo más claro qué es Apache y lo importante que es para que funcionen los sitios web que lo usen. También es importante conocer que tienes alternativas a Apache en el caso de que fuera necesario o tu proyecto web tenga otras necesidades.
Pero si tu intención es usar WordPress, Joomla, PrestaShop o cualquier de los gestores de contenidos populares, Apache es una opción sólida, segura, estable, con una gran comunidad de desarrollo detrás y en constante actualización.