Servidor Web
Servidor Web
Servidor Web
CONCEPTO
Un servidor web no es más que un ordenador, dotado de un hardware y un software, que está al
servicio de otros dispositivos o personas a los que suministra información. Los destinatarios de
esa información se denominan clientes.
Profundizando en esta definición, podemos diferenciar entre los Servidores Hardware y los
Servidores Software:
Es fundamental tener clara esta distinción, ya que la base de toda comunicación es el modelo de
arquitectura cliente-servidor. De acuerdo a este modelo, el cliente realiza peticiones al servidor,
que es el que le da una respuesta, abasteciéndose de los recursos que necesita. La propia World
Wide Web o las plataformas de comercio electrónico son ejemplos cercanos de este modelo.
¿Qué es un servidor web? Son un tipo de servidores utilizados para la distribución y entrega de
contenido web en redes internas o Internet. También conocidos como servidores HTTP, son los
encargados de despachar todos los archivos de una página o aplicación web (textos, imágenes,
vídeos, etc.) y mostrarlos a los usuarios a través de su navegador.
Cuando el servidor recibe una petición, se inicia un proceso que podemos separar en cuatro pasos:
● Resolución DNS: para abrir cualquier página web debemos conocer su IP (código
numérico que identifica al servidor). Para obtenerla, se ejecuta una consulta a un
servidor DNS, con acceso a la agenda completa de direcciones en internet.
● Resolución DNS a IP: una vez que el sistema operativo ha resuelto esa consulta
DNS, utiliza el protocolo TCP/IP para comunicar con el servidor remoto que
almacena la página que pretendemos cargar.
● Preparación de la petición: en esta fase el servidor web identifica a qué sitio
corresponde la petición recibida, observando su URL. A partir de ella levanta la
configuración personalizada de esa página web, detectando los elementos que
debe enviar y definiendo la prioridad de la petición.
● Presentación: finalmente, el servidor web devuelve al navegador una respuesta que
identifica el tipo de datos enviados, facilitando así su funcionamiento y mostrando
en pantalla la información que hemos solicitado.
Todos estos procesos se desarrollan en unos pocos segundos. Como las operaciones se ejecutan
a nivel interno, pasan inadvertidas para el usuario.
APACHE
Es el servidor web de referencia, el más popular y extendido. Lleva 25 años siendo el líder
indiscutible, a pesar de que nuevos competidores le hayan robado cuota de mercado. Su principal
ventaja es que es gratuito y de código abierto, por lo que se puede instalar en casi todos los
sistemas operativos. Su desfasada arquitectura frente a otros tipos de servidor es su principal
punto débil.
NGINX
También open source y gratuito (aunque ofrece una versión comercial), destaca por su alto
rendimiento. Utiliza un proxy inverso, que protege la identidad de los servidores y mejora la
seguridad de la información que acogen. Su configuración es sencilla, pero también muy
personalizable, consumiendo pocos recursos. Su defecto: no se puede integrar con PHP de forma
nativa.
MICROSOFT IIS
Es un servidor web de Microsoft, creado específicamente para su sistema operativo Windows. De
ahí su principal ventaja: es 100% compatible con todas las tecnologías de la multinacional
estadounidense. A su vez, supone su mayor inconveniente: la integración de lenguajes y
tecnologías es limitada con respecto a otras opciones.
GOOGLE GWS
Se trata de un servidor de uso exclusivo por parte de Google, lo que implica que no puede ser
utilizado por particulares o empresas. ¿Por qué lo incluimos entonces en este listado? Porque es
uno de los más utilizados hoy en día (aunque como usuarios no lo sepamos). Es el encargado de
sostener toda la infraestructura del gigante de internet, por lo que proporciona servicio simultáneo
a millones de usuarios.
LITE SPEED
Un servidor web muy robusto y eficiente. Su capacidad para soportar grandes cargas de trabajo es
su punto fuerte frente a otras alternativas. Su arquitectura, basada en un sistema de eventos, evita
la duplicidad de procesos que sí se genera en otros servidores. El principal inconveniente es que
siendo un software propietario, obliga a pasar por caja para adquirir la licencia de uso.
LIGHTTPD
Fue una de las primeras alternativas a Apache, solventando sus problemas de gestión de grandes
cargas de trabajo. Por ello, su diseño busca ante todo la rapidez operativa, algo que consigue
consumiendo pocos recursos. Esto lo convierte en una opción idónea para servidores VPS de
bajos recursos. Sin embargo, carece de versión oficial para sistemas operativos Windows, lo que
limita su aplicación.
Por tanto, no existe una respuesta única a la pregunta “¿cuál es el mejor servidor web?”. Sin
embargo, sí podemos destacar algunos factores de relevancia a tener en cuenta.
El primer paso siempre debe ser valorar nuestras necesidades. Es fundamental definir qué tipo de
sitio web quieres, qué aplicaciones necesitarás, el volumen de tráfico que prevés tener o si
recurrimos a algún software en particular. Respondiendo estas preguntas tendremos un buen
punto de partida.
"Dinámico" significa que el servidor procesa el contenido o incluso lo genera desde una base de
datos. Esta solución proporciona más flexibilidad, pero se vuelve más difícil de manejar, lo que
hace que sea mucho más complejo desarrollar el sitio web.
Tomemos por ejemplo la página que estás leyendo en este momento. En el servidor web que lo
aloja, hay un servidor de aplicaciones que toma el contenido del artículo de una base de datos, lo
formatea, lo coloca dentro de algunas plantillas HTML y le envía los resultados. En este caso, el
servidor de aplicaciones se llama Kuma y está desarrollado con Python (utilizando el framework
Django). El equipo de Mozilla creó Kuma para las necesidades específicas de MDN, pero hay
muchas aplicaciones similares basadas en otras tecnologías.
Hay tantos servidores de aplicaciones que es resulta difícil sugerir uno en particular. Algunos
servidores de aplicaciones se adaptan a categorías específicas de sitios web como blogs, wikis o
tiendas electrónicas; otros, llamados CMS (Content Management Systems o Sistemas de Gestión
de Contenidos), son más genéricos. Si está desarrollando un sitio web dinámico, tómese el tiempo
para elegir una herramienta que se adapte a sus necesidades. A menos que desee aprender algo
de programación de servidores web (¡es un área emocionante!), no necesita crear su propio
servidor de aplicaciones.