Servidor web

Visión general

Web serveres una computadora donde se almacena el contenido web. Básicamente, el servidor web se utiliza para alojar los sitios web, pero también existen otros servidores web, como juegos, almacenamiento, FTP, correo electrónico, etc.

El sitio web es una colección de páginas web, mientras que el servidor web es un software que responde a la solicitud de recursos web.

Funcionamiento del servidor web

El servidor web responde a la solicitud del cliente de cualquiera de las dos formas siguientes:

  • Envío del archivo al cliente asociado a la URL solicitada.

  • Generando respuesta invocando un script y comunicándose con la base de datos

Key Points

  • Cuando el cliente envía una solicitud para una página web, el servidor web busca la página solicitada, si se encuentra la página solicitada, la enviará al cliente con una respuesta HTTP.

  • Si no se encuentra la página web solicitada, el servidor web enviará un HTTP response:Error 404 Not found.

  • Si el cliente ha solicitado otros recursos, el servidor web se comunicará con el servidor de aplicaciones y el almacén de datos para construir la respuesta HTTP.

Arquitectura

La arquitectura del servidor web sigue los dos enfoques siguientes:

  1. Enfoque concurrente

  2. Enfoque basado en eventos de un solo proceso.

Enfoque concurrente

El enfoque concurrente permite que el servidor web maneje múltiples solicitudes de clientes al mismo tiempo. Se puede lograr mediante los siguientes métodos:

  • Multi-process

  • Multi-threaded

  • Método híbrido.

Multiprocesamiento

En esto, un solo proceso (proceso principal) inicia varios procesos secundarios de un solo subproceso y distribuye las solicitudes entrantes a estos procesos secundarios. Cada uno de los procesos secundarios es responsable de gestionar una solicitud única.

Es responsabilidad del proceso padre monitorear la carga y decidir si los procesos deben ser eliminados o bifurcados.

Multiproceso

A diferencia de multiproceso, crea múltiples procesos de un solo subproceso.

Híbrido

Es una combinación de los dos enfoques anteriores. En este enfoque, se crean múltiples procesos y cada proceso inicia múltiples subprocesos. Cada uno de los hilos maneja una conexión. El uso de varios subprocesos en un solo proceso da como resultado una menor carga en los recursos del sistema.

Ejemplos

La siguiente tabla describe los servidores web más destacados disponibles en la actualidad:

SN Descriptino del servidor web
1 Apache HTTP Server
Este es el servidor web más popular del mundo desarrollado por Apache Software Foundation. El servidor web Apache es un software de código abierto y se puede instalar en casi todos los sistemas operativos, incluidos Linux, UNIX, Windows, FreeBSD, Mac OS X y más. Aproximadamente el 60% de las máquinas del servidor web ejecutan el servidor web Apache.
2. Internet Information Services (IIS)
Internet Information Server (IIS) es un servidor web de alto rendimiento de Microsoft. Este servidor web se ejecuta en plataformas Windows NT / 2000 y 2003 (y también puede estar en la próxima versión nueva de Windows). IIS viene incluido con Windows NT / 2000 y 2003; Debido a que IIS está estrechamente integrado con el sistema operativo, es relativamente fácil de administrar.
3. Lighttpd
El lighttpd, pronunciado lighty, también es un servidor web gratuito que se distribuye con el sistema operativo FreeBSD. Este servidor web de código abierto es rápido, seguro y consume mucha menos energía de CPU. Lighttpd también se puede ejecutar en los sistemas operativos Windows, Mac OS X, Linux y Solaris.
4. Sun Java System Web Server
Este servidor web de Sun Microsystems es adecuado para sitios web medianos y grandes. Aunque el servidor es gratuito, no es de código abierto. Sin embargo, se ejecuta en plataformas Windows, Linux y UNIX. El servidor web Sun Java System admite varios lenguajes, scripts y tecnologías necesarios para Web 2.0, como JSP, Java Servlets, PHP, Perl, Python y Ruby on Rails, ASP y Coldfusion, etc.
5. Jigsaw Server
Jigsaw (servidor de W3C) proviene del World Wide Web Consortium. Es de código abierto y gratuito y puede ejecutarse en varias plataformas como Linux, UNIX, Windows y Mac OS X Free BSD, etc. Jigsaw se ha escrito en Java y puede ejecutar scripts CGI y programas PHP.