¿Qué es Apache? Descripción completa
Apache HTTP Server es un software de servidor web gratuito y de código abierto para plataformas Unix con el cual se ejecutan el 46% de los sitios web de todo el mundo. Es mantenido y desarrollado por la Apache Software Foundation.
Le permite a los propietarios de sitios web servir contenido en la web y es uno de los servidores más antiguos y confiables, con la primera versión lanzada hace más de 20 años, en 1995.
Cuando alguien quiere visitar un sitio web, ingresa un nombre de dominio en la barra de direcciones de su navegador. Luego, el servidor envía los archivos solicitados actuando como un repartidor virtual.
Aquí en Hostinger, nuestra infraestructura de hosting (VPS o de alojamiento compartido) web utiliza LiteSpeed, que es otro software popular de servidor web.
Descarga Glosario Completo de Desarrollo Web
Tabla de Contenidos
¿Qué es un servidor web?
Un servidor web es un programa de tipo informático que se encarga de procesar una aplicación del lado del servidor, cada una de las cuales puede acceder a archivos almacenados en un servidor físico y usarlos para diferentes propósitos, mediante conexiones bidireccionales o unidireccionales con la máquina del cliente, tras lo cual se genera una respuesta del lado del cliente.
El trabajo de un servidor es servir sitios web en Internet. Para lograr ese objetivo, actúa como un intermediario entre el servidor y las máquinas de los clientes. Extrae el contenido del servidor en cada solicitud de usuario y lo envía a la web.
El mayor desafío de un servidor es servir a muchos usuarios diferentes de la web al mismo tiempo, cada uno de los cuales solicita diferentes páginas. Los servidores web procesan archivos escritos en diferentes lenguajes de programación como PHP, Python, Java y otros.
Los convierten en archivos HTML estáticos y le entregan estos archivos al navegador de los usuarios de la web. Cuando escuches la palabra servidor web, piensa que es la herramienta responsable de la comunicación adecuada entre el servidor y el cliente.
¿Cómo funciona Apache?
Aunque llamamos a Apache un servidor web, no es un servidor físico, sino un software que se ejecuta en un servidor. Su trabajo es establecer una conexión entre un servidor y los navegadores de los visitantes del sitio web (Firefox, Google Chrome, Safari, etc.) mientras envían archivos entre ellos (estructura cliente-servidor). Apache es un software multiplataforma, por lo cual funciona tanto en servidores Unix como en Windows.
Cuando un visitante quiere cargar una página de tu sitio web, por ejemplo la página de inicio o tu página “Acerca de nosotros”, su navegador le envía una solicitud a tu servidor y Apache le devuelve una respuesta con todos los archivos solicitados (texto, imágenes, etc. ) El servidor y el cliente se comunican a través del protocolo HTTP y Apache es responsable de garantizar una comunicación fluida y segura entre las dos máquinas.
Apache es altamente personalizable, ya que tiene una estructura basada en módulos. Los módulos le permiten a los administradores del servidor activar y desactivar funcionalidades adicionales. Apache tiene módulos de seguridad, almacenamiento en caché, reescritura de URL, autenticación de contraseña y más. También puedes ajustar tus propias configuraciones del servidor a través de un archivo llamado .htaccess, que es un archivo de configuración de Apache compatible con todos los planes de Hostinger.
Apache vs otros servidores web
Además de Apache, hay muchos otros servidores web. Cada aplicación de servidor ha sido creada para un propósito diferente. Si bien Apache es el más utilizado, tiene bastantes alternativas y rivales.
Apache vs NGINX
Nginx, pronunciado como Engine-X, es una aplicación de servidor web más reciente lanzada por primera vez en el 2004. A la fecha, ha ganado una gran popularidad entre los propietarios de sitios web. Nginx fue creado para resolver el denominado problema c10k, lo que significa que un servidor que utiliza subprocesos para manejar las solicitudes de los usuarios no puede administrar más de 10,000 conexiones al mismo tiempo.
A continuación algunos detalles de NGINX vs Apache:
- Dado que Apache utiliza la estructura basada en subprocesos, los propietarios de sitios web con mucho tráfico pueden tener problemas de rendimiento. Nginx es uno de los servidores web que abordan el problema c10k y probablemente el más exitoso.
- Nginx tiene una arquitectura guiada por los eventos que no crea un nuevo proceso para cada solicitud. En cambio, maneja todas las solicitudes entrantes en un solo proceso. Este proceso maestro gestiona varios procesos de trabajo que realizan el procesamiento real de las solicitudes. El modelo basado en eventos de Nginx distribuye las solicitudes de los usuarios entre los procesos de trabajo de una manera eficiente, por lo tanto, conduce a una escalabilidad mucho mejor.
- Si necesitas administrar un sitio web de alto tráfico, Nginx es una excelente opción, ya que puede hacerlo mediante el uso de recursos mínimos. No puede ser una coincidencia que sea utilizado por muchos sitios web de alta visibilidad como Netflix, Hulu, Pinterest y Airbnb.
- Sin embargo, para los sitios web pequeños y medianos, Apache tiene varias ventajas sobre Nginx, como su fácil configuración, muchos módulos y un entorno amigable para principiantes.
Apache vs Tomcat
Tomcat es un servidor web desarrollado también por la Apache Software Foundation, por lo que su nombre oficial es Apache Tomcat. También es un servidor HTTP, sin embargo, está hecho para aplicaciones Java en lugar de sitios web estáticos. Tomcat puede ejecutar varias especificaciones diferentes de Java, como Java Servlet, JavaServer Pages (JSP), Java EL y WebSocket.
- Tomcat se creó específicamente para aplicaciones Java, mientras que Apache es un servidor HTTP de propósito general. Puedes utilizar Apache junto con diferentes lenguajes de programación (PHP, Python, Perl, etc.) con la ayuda del módulo de Apache apropiado (mod_php, mod_python, mod_perl, etc.).
- Aunque también puedes utilizar un servidor Tomcat para servir páginas web estáticas, es menos eficiente para ese propósito que Apache. Por ejemplo, Tomcat precarga Java Virtual Machine y otras bibliotecas relacionadas con Java que no necesitarás en la mayoría de los sitios web.
- Tomcat también es menos configurable en comparación con otros servidores web. Por ejemplo, para ejecutar WordPress, la mejor opción es un servidor HTTP de propósito general como Apache o NGINX.
Pros y contras de Apache
Un servidor web Apache puede ser una excelente opción para ejecutar tu sitio web en una plataforma estable y versátil. Sin embargo, también presenta algunas desventajas a las que debes prestarle atención.
Pros:
- De código abierto y gratuito, incluso para uso comercial.
- Software confiable y estable.
- Parches de seguridad regulares y actualizados con frecuencia.
- Flexible debido a su estructura basada en módulos.
- Fácil de configurar para principiantes.
- Multiplataforma (funciona tanto en servidores Unix como en Windows).
- Viene listo para trabajar con sitios de WordPress.
- Enorme comunidad y soporte fácilmente disponible en caso de cualquier problema.
Contras:
- Problemas de rendimiento en sitios web con demasiado tráfico.
- Demasiadas opciones de configuración pueden generar vulnerabilidades de seguridad.
Lecturas recomendadas
Qué es un hosting: Guía completa
¿Qué es un nombre de dominio y cómo funciona?
Revisión general de WordPress: el CMS más popular del mundo
Cómo instalar un certificado SSL en un servidor web Apache
Cómo solucionar la advertencia «Specify a vary: accept-encoding header»
Entonces, ¿qué es Apache?
Apache es uno de los servidores web más populares que te permite ejecutar un sitio web seguro sin demasiados dolores de cabeza. Es la opción más común de los emprendedores en solitario y pequeñas empresas que desean tener presencia en la web.
Puedes instalar un sitio web de WordPress en un servidor web Apache sin ninguna personalización. Además, Apache funciona excelentemente con muchos otros sistemas de administración de contenido (Joomla, Drupal, etc.), marcos web (Django, Laravel, etc.) y lenguajes de programación. Esto lo convierte en una elección sólida para todo tipo de plataformas de hosting web, como VPS o hosting barato compartido.
Comentarios
March 14 2019
Estoy tomando un curso Online de Creación de páginas Web, la información proporcionada es muy útil y clara, gracias!!
March 20 2019
Hola, me alegra que el artículo te haya sido útil :)
April 03 2019
Gracias , excelente explicación. Me ha aclarado muchas dudas y nos has mostrado otras posibilidades
April 11 2019
Hola, qué bueno que te haya sido útil :D
April 08 2019
Muchas gracias por la info Gustavo, me has aclarado bastante los conceptos. Saludos!
April 11 2019
Hola Santiago, me alegra que le hayas sacado provecho :D
June 27 2019
Muy buena explicación , cada día se aprenden cosas nuevas.
July 04 2019
Hola Daniel, nos alegra que el artículo te haya ayudado :)
December 06 2019
Muy bueno, gracias !!!
January 18 2020
Muy buena, concisa y abarcadora la explicación. Muy bueno el sitio. Me alegro de haberlo encontrado
January 23 2020
Hola, gracias por tu comentario y estamos para servirte :D
January 30 2020
Gracias! Bárbara la info
January 30 2020
Hola, gracias por tu comentario! Qué bueno que te haya sido útil :)
March 31 2020
Excelente información
April 02 2020
Hola Rodrigo, gracias por tu comentario. Nos alegra que te haya servido!
April 30 2020
Gracias por compartir. Estoy inciándome en el mundo WEB y tu artículo es super clarificador y muy pedagógico.
April 30 2020
Hola Ana, gracias por tu comentario y muchos éxitos en tu nuevo camino! :D
July 24 2020
Hola,es posible desplegar una .war(JAVA) en Apache4?
May 04 2021
Excelente contenido crack. Muy buen material educativo para los estudiantes de informatica.
May 11 2021
Muchas gracias, Jacob. Qué bueno que te haya servido el tutorial. Saludos!