Вы находитесь на странице: 1из 19

Qu es un servidor web y qu soluciones de software existen?

Los servidores web sirven para almacenar contenidos de Internet y facilitar su disponibilidad
de forma constante y segura. Cuando visitas una pgina web desde tu navegador, es en
realidad un servidor web el que enva los componentes individuales de dicha pgina
directamente a tu ordenador. Esto quiere decir que para que una pgina web sea accesible en
cualquier momento, el servidor web debe estar permanentemente online.

Toda pgina accesible en Internet necesita un servidor especial para sus contenidos web. A
menudo, las grandes empresas y organizaciones cuentan con un servidor web propio para
disponer sus contenidos en Intranet e Internet. Sin embargo, la mayora de administradores
recurren a los centros de datos de proveedores de alojamiento web para sus proyectos.
Independientemente de si tienes un servidor web propio o de si alquilas uno externo, siempre
necesitars un software para gestionar los datos de tu pgina y mantenerla actualizada. En
este sentido, tienes la posibilidad de elegir entre varias soluciones de software para
servidores web diseadas para diferentes aplicaciones y sistemas operativos.

ndice [ ocultar ]

1. Servidor web: definicin e historia


2. La tecnologa detrs de los servidores web
3. Otras funciones de los servidores web
4. Soluciones de software libres para servidores web
5. Cmo encontrar el servidor web apropiado y configurarlo
6. Cmo opera un servidor web?

Servidor web: definicin e historia

Los servidores web (tambin conocidos como servidores HTTP) son un tipo de servidores
utilizados para la distribucin (entrega) de contenido web en redes internas o en Internet
(servidor hace referencia al verbo servir). Como parte de una red de ordenadores, un
servidor web transfiere documentos a los llamados clientes (del ingls clients), por ejemplo,
una pgina web a un explorador.

En general, la pregunta qu es un servidor web puede referirse a dos cosas: al software del
servidor (es decir, al programa en s) y al equipo en el que el software del servidor web se
est ejecutando. Cuando se trata de este ltimo, se habla del host (un host puede alojar
mltiples soluciones de software para servidores web). A continuacin, nos referiremos
explcitamente a alguno de estos significados, ya sea al software de servidor web/software
servidor HTTP (o programa) o al host.

El desarrollo de los servidores web est estrechamente vinculado al fsico e informtico


britnico Tim Berners-Lee, quien en 1989 sugiri que el intercambio de informacin en el
CERN (Organizacin Europea para la Investigacin Nuclear) debera realizarse a travs de
un sistema de hipertexto ms fcil y rpido. En 1990, junto con Robert Cailliau, present un
proyecto a partir del cual y con el paso del tiempo, junto con el primer servidor web, llamado
CERN httpd, tambin se cre el primer navegador web y otros elementos bsicos de
Internet como HTML y HTTP. Es as como Berners-Lee es hoy considerado el fundador de
Internet.

La tecnologa detrs de los servidores web

Principalmente, el software de un servidor HTTP es el encargado de proporcionar los datos


para la visualizacin del contenido web. Para ello, el programa se comunica con un cliente
web (por lo general, un navegador o un crawler de los motores de bsqueda).

Para abrir una pgina web, el usuario solo tiene que escribir el URL correspondiente en la
barra de direcciones de su navegador web. El navegador enva una solicitud al servidor web,
quien responde, por ejemplo, entregando una pgina HTML. Esta puede estar alojada como
un documento esttico en el host o ser generada de forma dinmica, lo que significa que
el servidor web tiene que ejecutar un cdigo de programa (p. ej., Java o PHP) antes de tramitar
su respuesta. El navegador interpreta la respuesta, lo que suele generar automticamente ms
solicitudes al servidor a propsito de, por ejemplo, imgenes integradas o archivos CSS.

El protocolo utilizado para la transmisin es HTTP (o su variante cifrada HTTPS), que se


basa, a su vez, en los protocolos de red IP y TCP (y muy rara vez en UDP). Un servidor web
puede entregar los contenidos simultneamente a varios ordenadores o navegadores web. La
cantidad de solicitudes (requests) y la velocidad con la que pueden ser procesadas depende,
entre otras cosas, del hardware y la carga (nmero de solicitudes) del host. Sin embargo, la
complejidad del contenido tambin juega un papel importante: los contenidos web dinmicos
necesitan ms recursos que los contenidos estticos.
La seleccin del equipo adecuado para el servidor y la decisin de si este debe ser dedicado,
virtual o en la nube, se debe hacer pensando siempre en evitar sobrecargas en el servidor.
Recuerda que, aunque hayas encontrado un servidor web que se adapta perfectamente a las
necesidades de tu proyecto, siempre se corre el riesgo de que se presenten fallos en l como
consecuencia de imprecisiones tcnicas o cortes de energa en el centro de datos del host.
Aunque no es muy frecuente, durante un perodo de inactividad de este tipo (downtime), la
web no estar disponible a menos que se ejecute en un dispositivo con una conexin a una
Content Delivery Network, algo no muy usual en el caso de webs pequeas.

Otras funciones de los servidores web

Aunque su principal funcin es la transferencia de contenido web, muchos programas de


servidor web ofrecen caractersticas adicionales:

Cifrado de la comunicacin entre el servidor web y el


Seguridad
cliente va HTTPS
Autenticacin HTTP para reas especficas de una
Autenticacin del usuario
aplicacin web
Redireccin de una solicitud de documento por medio
Redireccin
de Rewrite Engine
Almacenamiento en cach de documentos dinmicos
Caching para la respuesta eficiente de solicitudes y para evitar
una sobrecarga del servidor web
Asignacin de cookies Envo y procesamiento de cookies HTTP

Adems del software del servidor, un host puede contener otro tipo de programas, como por
ejemplo un servidor FTP para la carga de archivos o un servidor de base de datos para
contenidos dinmicos (aunque para este propsito, cualquier host profesional ofrecer un
hardware adicional). En general, existen diferentes tipos de servidores web que pueden ser
utilizados para numerosos propsitos, por ejemplo, los servidores de correo, los servidores
de juegos o los servidores proxy.

Soluciones de software libres para servidores web

La gama de programas para ejecutar un servidor web es muy amplia y algunos estn
disponibles de forma gratuita en Internet. La nica condicin es, obviamente, que el
software sea compatible con el sistema operativo del host. La mayora de los servidores
web estn basados en UNIX, es decir Linux, pero tambin se ejecutan en Windows, a
excepcin de Windows IIS, que solo es ejecutable en servidores Windows.

A continuacin describimos brevemente algunos de los programas ms populares para


servidores web:

Servidor Apache HTTP: el servidor web Apache se desarrolla permanentemente


como un programa de cdigo abierto disponible en numerosas versiones. Este
programa modular es ejecutable en prcticamente cualquier sistema operativo y es el
servidor web ms utilizado. Es apropiado para contenidos web dinmicos, pues
facilita la integracin de lenguajes de programacin como PHP y Apache puede
ejecutar otros programas bajo la interfaz CGI. Para facilitar la instalacin de un
servidor web Apache, que puede resultar muy compleja, se pueden utilizar soluciones
de software como XAMPP o LAMP, que se encargan en gran medida de su
configuracin. Adems de Apache, estas soluciones contienen tambin diversos
lenguajes de programacin, as como el software ms adecuado para la gestin de
bases de datos.

ltimamente, en comparacin con sus competidores, Apache HTTP ha perdido


puntos en cuanto a velocidad. Muchos productos alternativos se caracterizan ya por
unos tiempos de respuesta ms cortos durante la transmisin de datos.

Apache Tomcat: en este caso se trata de un servidor web de cdigo abierto


desarrollado en el entorno Java. Quien quiera crear contenidos web con Java,
encontrar en Apache Tomcat la solucin idnea. Tambin es posible integrar otro
servidor por medio de un conector AJP (p. ej., un servidor Apache HTTP o Microsoft
IIS).

nginx: nginx va ms all de un tradicional servidor web de cdigo abierto. Ofrece,


entre otras cosas, un proxy inverso para reducir la carga del servidor y permitirle
trabajar ms rpido. En el pasado, nginx nunca dej de ganar popularidad. Para
obtener ms informacin al respecto, visita nuestra introduccin a nginx.

Microsoft IIS: Microsoft Internet Information Services (IIS) es un paquete de


software de servidor que incluye un servidor web. En sus comienzos, IIS era una parte
integral de los sistemas de Windows Server, ahora, en caso de ser necesario, es
posible instalar el programa en algunos sistemas operativos Windows. Microsoft IIS
solo puede ser utilizado en servidores Windows.

LiteSpeed Web Server: este software de servidor web para UNIX y Linux cuenta
con un programa de cdigo abierto, una versin gratuita y una versin empresarial.
LiteSpeed Web Server se destaca por su alta velocidad en la transmisin de datos,
especialmente en su versin para empresas.

Por lo general, la administracin de un software de servidor web se hace de forma remota


desde otro equipo, controlndolo a travs de un software de acceso remoto que no
necesariamente requiere el mismo sistema operativo del host. Uno de los programas ms
reconocidos de este tipo es Plesk, un software que permite gestionar sistemas UNIX, Linux
y Windows desde cualquier equipo. En otras palabras, Plesk permite controlar un servidor
web Linux desde un equipo Windows y viceversa.

Cmo encontrar el servidor web apropiado y configurarlo

Si quieres conseguir un servidor web para tu proyecto online, lo primero que necesitars es
un host con suficiente espacio web. Una de las opciones ms populares es alquilar los
recursos del servidor en algn proveedor. Especialmente aquellos usuarios con pocos o
ningn conocimiento en gestin de servidores pueden decantarse por opciones como el
alojamiento compartido o el managed cloud hosting y configurar as su propio servidor web.
A diferencia de los servidores con acceso root, en los que el usuario no solo tiene todos los
derechos de acceso, sino tambin la responsabilidad completa de la seguridad del servidor,
con un alojamiento gestionado el host se encarga de gran parte de la administracin
bsica. Aqu, el usuario no tiene que hacerse cargo de aspectos como las actualizaciones del
software y de seguridad y puede, adicionalmente, equipar a su servidor con los programas
que desee. En el hosting compartido no tienes que preocuparte por las actualizaciones de
software y, adems, tienes acceso al espacio web y a las opciones de configuracin
proporcionadas por el proveedor que elijas.

Normalmente, los servidores web se alquilan por una cuota mensual. Los costes dependen
del rendimiento y del tamao de componentes individuales como, por ejemplo, la capacidad
y el rendimiento del ordenador (CPU y RAM), el espacio web y el tipo de
almacenamiento en el disco duro (SSD o HHD). Quien quiera flexibilidad para la capacidad
de su servidor web debera decantarse por el alojamiento en la nube. Con este, el rendimiento
de los componentes puede ser modificado para adaptarse a las necesidades actuales del
proyecto online en cualquier momento.

El rendimiento por parte de los diferentes componentes del host depende de las necesidades
de la pgina web. Un pack de alojamiento econmico y con menor rendimiento resulta
perfecto para proyectos como un pequeo blog o una web que sirva como tarjeta de visita en
Internet. Por el contrario, grandes portales online o pginas web con muchos contenidos
demandan muchos ms componentes. Tambin hay que considerar que ciertas aplicaciones
web requieren un volumen de transferencia de datos mayor que otras: para que la
transferencia de archivos no sea ms lenta de lo normal, aquellas plataformas que ponen a
disposicin la descarga de contenidos necesitan una mayor velocidad en trminos de trfico
de datos. Por otro lado, si una web implementa muchos archivos multimedia como vdeos o
msica, el volumen de trfico debe ser apropiado, de lo contrario se sobrecarga al servidor.
Es por esto que, para prevenir estos escenarios, es necesario elegir una tarifa de trfico
ilimitado con el proveedor escogido. As, estars garantizando que el trfico de datos de tu
web siempre goce de la capacidad que necesita.

Una vez has encontrado el servidor apropiado para tu proyecto, puedes configurar el software
HTTP correspondiente. Recuerda que aun utilizando un servidor gestionado, tendrs que
ocuparte de ciertos aspectos de seguridad que no podrs perder de vista para el alojamiento
de tu web.

Una vez has elegido y configurado tu servidor web, has de mantenerlo actualizado. Las
versiones desactualizadas representan una oportunidad de ataque para cibercriminales y
piratas informticos que, en el peor de los casos, podran tomar el control sobre tu servidor
web. En el hosting compartido y gestionado, los proveedores suelen encargarse de la mayora
de medidas de seguridad, de otro modo, esta tarea est completamente en tus manos.

Adems de las actualizaciones permanentes, la implementacin de un cortafuegos por


hardware resulta de gran ayuda a la hora de proteger tu sistema de intrusiones. Establecer
una zona desmilitarizada (DMZ) es tambin muy til. Adems, existen frameworks como
Fail2ban que te ayudan a proteger tu servidor de accesos no autorizados.
Otro de los principios de la seguridad de un servidor web es asignar a su administrador
nicamente aquellas funciones que sean absolutamente necesarias o bien cerrar todos los
puertos y cancelar los servicios innecesarios. Adicionalmente, crear y usar contraseas
seguras es una de las medidas bsicas de seguridad para el cuidado de un servidor. Recuerda
que es importante contar con un soporte al cliente eficiente, fiable y cualificado, as, en
caso de que surjan preguntas o se presenten situaciones de emergencia no estars a la deriva.
Esto resulta de gran ayuda especialmente para los administradores menos experimentados.

Si tu proveedor de alojamiento no se encarga completamente de la proteccin de tu servidor


web, seguramente necesitars cierto know how para gestionar y mantener tu servidor, as
como conocimientos bsicos en el funcionamiento de un host. Una alternativa para hacerte
cargo consiste en aprender del ensayo y error con un servidor en una red cerrada donde no
tengas que preocuparte de ningn tipo de ciberataque por parte de terceros.

Cmo opera un servidor web?

Los servidores web funcionan bajo el modelo cliente-servidor. Por ejemplo, si para visitar
la pgina de inicio de 1&1 introduces el dominio www.1and1.es en la barra de direcciones
de tu navegador, tendr lugar el siguiente proceso:

1. Tan pronto como comienzas a escribir la direccin en la barra de direcciones, tu


navegador enva la informacin a un servidor de nombres de dominio (tambin
conocido como servidor DNS). Como parte fundamental del Domain Name System
(DNS), el directorio central en Internet, un servidor de nombres de dominio tiene
acceso a la agenda completa de direcciones en Internet. A continuacin, el nombre
alfanumrico del dominio (www.1and1.es) se convierte en una direccin IP
numrica (217.160.72.6) y se enva de regreso al navegador.
2. Acto seguido, el navegador realiza una solicitud de los contenidos de la pgina web.
Esto se hace contactando al servidor web con la direccin IP numrica obtenida
en el
3. El servidor web responde a la peticin enviando un documento de la pgina web
solicitada al navegador. Posteriormente, el navegador enva nuevamente una solicitud
al servidor web, esta vez para otro documento que tambin forma parte de la web
solicitada. Este proceso se repite hasta que todos los elementos se han transferido
y la web se muestra completamente en el navegador. Ahora bien, si haces clic en uno
de los enlaces de la pgina de inicio de 1&1, se realizar una nueva solicitud al
servidor web, iniciando nuevamente el proceso.

Sientes que no tienes la suficiente informacin o conocimientos sobre un servidor web y


prefieres alquilarlo? Independientemente de si se trata de un servidor dedicado, un servidor
en la nube o un servidor virtual, 1&1 tiene la solucin ptima para tu proyecto online.
Descubre ms sobre nuestra gama de productos en 1&1 Sho
Servidor Web
Servidor Web. Es un programa
que gestiona cualquier aplicacin Servidores Web
en el lado del servidor realizando
conexiones bidireccionales y/o
unidireccionales y sncronas o
asncronas con el cliente
generando una respuesta en
cualquier lenguaje o aplicacin
en el lado del cliente. El cdigo
recibido por el cliente suele ser
compilado y ejecutado por un
Navegador Web. Para la
transmisin de todos estos datos
se utiliza algn protocolo.
Generalmente se utiliza el
protocolo HTTP para estas
comunicaciones, perteneciente a Sistema usado para estandarizar la comunicacin entre distintas plataformas y
la capa de aplicacin del Modelo lenguajes de programacin.
OSI. El trmino tambin se
emplea para referirse al
ordenador que ejecuta el programa.

Contenido
1 Historia
2 Servicios
3 Protocolos del Servidor Web
o 3.1 Servidor Web Local
o 3.2 Servidores de aplicaciones
4 Pasos para la peticin de una pgina Web
5 Funcionamiento de un Servidor Web
o 5.1 Arquitectura Modelo Cliente Servidor
6 Aplicaciones en el lado del servidor
o 6.1 Servidores basados en procesos
o 6.2 Servidores basados en hilos
o 6.3 Servidores basado en sockets no bloqueantes o dirigidos por eventos
o 6.4 Servidores implementados en el kernel
7 Servidores ms usados
o 7.1 Apache
o 7.2 Microsoft IIS
o 7.3 Sun Java System Web Server
o 7.4 Ngnix
o 7.5 Lighttp
8 Funcionamiento en la actualidad
9 Servidores Web ms utilizados
10 Vase tambin
11 Fuentes

Historia
Los Servicios Web surgieron ante una necesidad de estandarizar la comunicacin entre
distintas plataformas (PC, Mainframe, Mac, etc.) y lenguajes de programacin (PHP, C,
Java, etc.). Anteriormente se haban realizado intentos de crear estndares pero fracasaron o
no tuvieron el suficiente xito, algunos de ellos son DCOM y CORBA, por ser
dependientes de la implementacin del vendedor DCOM Microsoft, y CORBA ORB (a
pesar que CORBA de mltiples vendedores pueden operar entre si, hay ciertas limitaciones
para aplicaciones de niveles ms altos en los cuales se necesite seguridad o administracin
de transacciones).

Otro gran problema es que se haca uso de RPC (Remote Procedure Call) para realizar la
comunicacin entre diferentes nodos. Esto, adems de presentar ciertos problemas de
seguridad, tiene la desventaja de que su implementacin en un ambiente como es Internet,
es casi imposible (muchos Firewalls bloquean este tipo de mensajes, lo que hace
prcticamente imposible a dos computadoras conectadas por Internet comunicarse). Los
Servicios Web surgieron para finalmente poder lograr la tan esperada comunicacin entre
diferentes plataformas. En la actualidad muchos sistemas legacy estn pasando a ser
servicios web. Es por esto que en 1999 se comenz a plantear un nuevo estndar, el cual
terminara utilizando XML, SOAP, WSDL, y UDDI.

A pesar de mucho limitar el uso de los servicios Web al Protocolo http, los servicios Web
no fueron pensados para un protocolo en particular, es decir, nada impidi utilizar SOAP
sobre algn otro protocolo de Internet (SMTP, FTP, etc.). Se utiliza principalmente HTTP
por ser un protocolo ampliamente difundido y que se encuentra menos restringido por
firewalls (generalmente se bloquean puertos como el FTP, pero el HTTP es muy probable
que no este bloqueado).

Primer Servidor Web

La dcada de los 80's fue marcada por el surgimiento de la PC y de la interfase grfica.


Entre 1988 y 1993, NeXT fabric una estacin de trabajo de altas prestaciones para la
poca de la que hablamos que impuls con el Sistema operativo de la casa, el NeXTSTEP.
Contaba con un micro de la serie (68040) de Motorota capaz de trabajar a 25 MHz, una
memoria de 8 MB ampliables a 64 MB y un monitor de 17. La mquina, que costaba 6500
dlares, recibi el nombre de NeXT Computer, aunque se le acab conociendo como
NeXTcube o, simplemente, "The Cube". Ms all de su Hardware y sus posibilidades
tcnicas, la NeXT Computer ha pasado a formar parte de la pequea gran historia de la
informtica por ser el ordenador que Tim Berners-Lee, el "inventor" de Internet, se utiliz
por primera vez como un Servidor Web.

En la dcada de los 90's Internet permiti conectar computadoras en una escala global. En
principio la conexin fue entre PCs y servidores por medio del explorador de Internet. A
comienzos de este siglo es clara la necesidad de permitir a las computadoras conectadas a
Internet comunicarse entre ellas. Desde entonces se va dando forma al nuevo modelo de
computacin distribuida llamado servicios Web basados en XML. El objetivo es permitir
comunicarse entre s a sistemas heterogneos dentro y fuera de la empresa. Esta
comunicacin es independiente del Sistema Operativo, lenguaje o modelo de programacin.
Para conseguir esto se desarrollaron estndares. El consorcio de Internet
http://www.w3c.org fue el encargado de crear y mantener estos estndares.

Desde los inicios de Internet, fueron surgiendo diferentes demandas por los usuarios y se
dieron soluciones mediante lenguajes estticos. A medida que paso el tiempo, las
tecnologas fueron desarrollndose y surgieron nuevos problemas a dar solucin. Esto dio
lugar a desarrollar lenguajes de programacin para la Web dinmicos, que permitieran
interactuar con los usuarios y utilizaran sistemas de Bases de Datos.

Antes de la adopcin del modelo de Servicios Web basados en XML los datos eran islas
que se encontraban dentro de las aplicaciones. Era muy difcil y costoso implementar
soluciones para acceder a la informacin desde afuera de la aplicacin. Las aplicaciones
pueden ahora, comunicarse entre s y con los sistemas de sus socios, proveedores y clientes
gracias a los Servicios Web y XML.

Servicios
Internet: Internet es una Red de Ordenadores conectados en toda la extensin del Globo
Terrqueo, que ofrece diversos servicios a sus usuarios como pueden ser el Correo
electrnico, el Chat o la Web. Todos los servicios que ofrece Internet son llevados a cabo
por miles de ordenadores que estn permanentemente encendidos y conectados a
Internet, esperando que los usuarios les soliciten los servicios y sirvindolos una vez son
solicitados.

Pgina Web: Documento o fuente de informacin, generalmente en formato HTML y que


puede contener hiperenlaces a otras Pginas Web. Dicha pgina , podr ser accesible
desde un dispositivo fsico, una intranet, o Internet.

Navegador Web: Para establecer conexiones con los servidores Web, y obtener la
informacin y los servicios que estos prestan, el usuario necesita tener instalado en su
equipo un programa cliente capaz de comunicarse con ellos. Estos programas son los
llamados Navegadores Web. Los Navegadores Web, tambin llamados Visores de Web o
Browsers, son aplicaciones que permiten ver en pantalla texto con formato (con palabras
en negrita, y con distintas fuentes tipogrficas, tamaos y colores) y presentar imgenes
en lnea. Tambin permiten visualizar secuencias de vdeo y escuchar ficheros de sonido.

Servidor: Un Servidor es un tipo de Software que suministra servicios a los usuarios o


terminales que lo solicitan. Por ejemplo, en una tpica Arquitectura Cliente-servidor, el
cliente podra ser un ordenador que realiza peticiones de informacin a travs de un
programa de correo (Outlook Express por ejemplo) y, el servidor le entrega los datos en
forma de correos electrnicos en respuesta a su solicitud. Un servidor no es
necesariamente una mquina de ltima generacin de grandes proporciones, no es
necesariamente un superordenador; un servidor puede ser desde una computadora vieja,
hasta una mquina sumamente potente (ej. Servidores web, bases de datos grandes, etc.,
procesadores especiales y hasta varios gigabytes de memoria).

Todo esto depende del uso que se le d al servidor. Si usted lo desea, puede convertir al
equipo desde el cual se est trabajando en un servidor instalando un programa que trabaje
por la Red y a la que los usuarios de su red ingresen a travs de un programa de servidor
web como Apache. Por lo cual podemos llegar a la conclusin de que un servidor tambin
puede ser un proceso que entrega informacin o sirve a otro proceso.

El modelo Cliente-Servidor no necesariamente implica tener dos ordenadores, ya que un


proceso cliente puede solicitar algo como una impresin a un proceso servidor en un mismo
ordenador. Cliente/servidor: Esta Arquitectura consiste bsicamente en un programa cliente
que realiza peticiones a otro programa el servidor que le da respuesta. Aunque esta idea se
puede aplicar a programas que se ejecutan sobre una sola computadora es ms ventajosa en
un Sistema Operativo multiusuario distribuido a travs de una red de computadoras.

En esta Arquitectura la capacidad de proceso est repartida entre los Clientes y los
Servidores, aunque son ms importantes las ventajas de tipo organizativo debidas a la
centralizacin de la gestin de la informacin y la separacin de responsabilidades, lo que
facilita y clarifica el diseo del sistema. La separacin entre Cliente y servidor es una
separacin de tipo lgico, donde el servidor no se ejecuta necesariamente sobre una sola
mquina ni es necesariamente un slo programa.

Los tipos especficos de servidores que incluyen son los Servidores Web, los Servidores de
archivo, los Servidores del correo, etc. Mientras que sus propsitos varan de unos servicios
a otros, la arquitectura bsica seguir siendo la misma. Una disposicin muy comn son los
Sistemas multicapa en los que el servidor se descompone en diferentes programas que
pueden ser ejecutados por diferentes computadoras aumentando as el grado de distribucin
del sistema.

Protocolos del Servidor Web


Un servidor web es un programa que sirve datos en forma de Pginas Web, hipertextos o
pginas HTML (HyperText Markup Language): textos complejos con enlaces, figuras,
formularios, botones y objetos incrustados como animaciones o reproductores de sonidos.
La comunicacin de estos datos entre cliente y servidor se hace por medio un protocolo,
concretamente del protocolo Http. Con esto, un servidor Web se mantiene a la espera de
peticiones HTTP, que son ejecutadas por un cliente HTTP; lo que solemos conocer como
un Navegador Web. A modo de ejemplo: al teclear (http://www.cnice.mec.es) en un
navegador, ste realizar una peticin HTTP al servidor que tiene asociada dicha URL.

El servidor responde al cliente enviando el cdigo HTML de la pgina; el navegador


cuando recibe el cdigo, lo interpreta y lo muestra en pantalla. El Cliente es el encargado de
interpretar el cdigo HTML, es decir, de mostrar las fuentes, los colores y la disposicin de
los textos y objetos de la pgina. El servidor se encarga de transferir el cdigo de la pgina
sin llevar a cabo ninguna interpretacin de la misma.

Servidor Web Local

Tener un servidor Web local debera ser fundamental para todas aquellas personas que no
disponen de un Sitio Web online. Por qu? La respuesta es muy sencilla. El Servidor local
nos va a permitir comprobar que todas las modificaciones que se van a realizar en nuestro
diseos Web, no provoquen algn error que pueda afectar a todos aquellos usuarios que
naveguen por la red. Otro aspecto positivo de un Servidor local, es que no har falta tener
que subir ficheros al servidor Ftp para hacer nuestras pruebas con lo cual, la espera se hace
ms corta.

Como es de suponer, tambin se permite el acceso a nuestro servidor a cualquier usuario de


Internet. Para ello, se configura correctamente el Router y sera de mucha ayuda tener una
direccin IP esttica, mediante la cual cualquier usuario podra conectarse a nuestro
servidor desde un navegador.

Protocolo: Conjunto de reglas que gobiernan el intercambio de datos entre entidades dentro
de una red. Es el lenguaje comn que utilizan los ordenadores para hablar y entenderse
entre s. Existen muchos tipos de protocolos cada uno con sus reglas bien definidas, como
por ejemplo: FTP, POP3, SMTP, ICMP, etc.

Protocolo HTTP: Una de las caractersticas del Protocolo Http es que no es permanente, es
decir, cada operacin HTTP implica una conexin con el servidor, que es liberada al
trmino de la misma. Por ejemplo, un documento HTML con 10 imgenes son necesarias
11 conexiones distintas (10 imgenes ms la pgina HTML en s).

Servidores de aplicaciones

Un Servidor de Aplicaciones no es ms que un cambio de nombre, para algunos Servidores


Web de nueva generacin que proporcionan la lgica de negocio sobre la que construir
aplicaciones. Suelen asociarse con servidores de alto rendimiento pensados para dar
servicio a sitios Web (Web Sites) con grandes necesidades: afluencia de visitas,
movimiento de datos, atencin de transacciones hacia bases de datos, etc. Generalmente los
fabricantes del sector tienen a disposicin del pblico un servidor Web bsico y otro con
multitud de extensiones fuertemente integradas al que llaman Servidor de Aplicaciones.
Pasos para la peticin de una pgina Web
Primero, el navegador solicita como Cliente DNS la traduccin de una URL (por ejemplo
http://www.mec.es) a una IP y segundo, una vez que ha recibido la traduccin del Servidor
DNS, se realiza la peticin HTTP al servidor que tenga la IP concreta. Fijmonos que si
ponemos la IP en vez de la direccin en el Navegador, tambin funciona. Adems, carece
de estado. Cada peticin de un cliente a un servidor no es influida por las transacciones
anteriores.

El Servidor trata cada peticin como una operacin totalmente independiente del resto. A
partir de la versin 1.1 del Protocolo http, se pueden habilitar conexiones persistentes
(permiten enviar ms objetos con un menor nmero de conexiones.

Funcionamiento de un Servidor Web


La Web funciona siguiendo el Modelo cliente-servidor. Un Servidor se encarga de prestar
el servicio, y un cliente que es quien recibe dicho servicio.

Cliente Web: Es un programa mediante el cual el usuario solicita a un Servidores Web el


envo de informacin. Esta informacin se transfiere mediante el Protocolo HTTP.
Informacin que recibe: La informacin que se recibe es un conjunto de documentos de
texto codificados en lenguaje HTML.

El Cliente Web debe interpretar estos documentos para mostrrselos al usuario en el


formato correspondiente. Cuando la informacin recibida no es un documento de texto,
sino un objeto multimedia que el cliente no sabe interpretar, el propio cliente Web debe
activar una aplicacin externa encargada de gestionarlo. Clientes Web ms habituales: Los
clientes Web ms habituales son Microsoft Internet Explorer, Mozilla Firefox y Netscape
Navigator.

Arquitectura Modelo Cliente Servidor

Diversas aplicaciones se ejecutan en un entorno Cliente/servidor. Esto significa que los


equipos clientes (equipos que forman parte de una red) contactan a un servidor, un equipo
generalmente muy potente en materia de capacidad de entrada/salida, que proporciona
servicios a los equipos clientes. Estos servicios son programas que proporcionan datos
como la hora, archivos, una conexin, etc.
Los servicios son utilizados por programas denominados programas clientes que se
ejecutan en equipos clientes. Por eso se utiliza el trmino "cliente" (cliente FTP, cliente de
correo electrnico, etc.) cuando un programa que se ha diseado para ejecutarse en un
equipo cliente, capaz de procesar los datos recibidos de un servidor (en el caso del cliente
FTP se trata de archivos, mientras que para el cliente de correo electrnico se trata de
correo electrnico).

En la manera de describir la forma de trabajo entre los clientes y los ordenadores se define:
Cliente: Es el ordenador que pide informacin a otro, mediante la aplicacin de un
programa llamado cliente. Este contacta con el servidor y Da formato a la peticin de la
informacin y da formato a la respuesta.

Servidor: Es el ordenador que ofrece la informacin mediante la aplicacin de un


programa llamado servidor que: Recibe la informacin y la procesa y responde enviando la
peticin al cliente.

El servidor Web se ejecuta en un ordenador mantenindose a la espera de peticiones por


parte de un cliente (un navegador Web) y que responde a estas peticiones, mediante una
Pgina Web que se exhibir en el navegador o mostrando el respectivo mensaje si se
detect algn error. A modo de ejemplo, al escribir la siguiente direccin en el navegador,
[www.ecured.cu], ste realiza una peticin al servidor de dicha direccin. El servidor
responde al cliente enviando el cdigo HTML de la pgina; el cliente, una vez recibido el
cdigo, lo interpreta y lo muestra en pantalla. Como observamos en este ejemplo, el cliente
es el encargado de compilar y ejecutar el cdigo HTML, es decir, de mostrar las fuentes,
los colores y la disposicin de los textos y objetos de la pgina Web; el servidor tan slo se
limita a transferir el cdigo de la pgina sin realizar ninguna interpretacin de la misma.
Adems de la transferencia de cdigo HTML, los servidores Web pueden entregar
aplicaciones Web. stas son bloques de cdigo que se ejecutan cuando se realizan ciertas
peticiones o respuestas. Se distinguen entre:

Aplicaciones en el lado del cliente: el cliente Web es el encargado de ejecutarlas en la


mquina del usuario. Son las aplicaciones tipo Java "applets" o Javascript. El servidor
proporciona el cdigo de las aplicaciones al cliente y ste las ejecuta mediante el
navegador Web. Por tanto, es necesario que el cliente disponga de un navegador con
capacidad para ejecutar aplicaciones (tambin llamadas Scripts). Generalmente, los
navegadores permiten ejecutar aplicaciones escritas en lenguaje Javascript y Java, aunque
pueden aadirse ms lenguajes mediante el uso de plugins.

Aplicaciones en el lado del servidor: el servidor Web ejecuta la aplicacin; sta, una vez
ejecutada, genera cdigo HTML; el servidor enva al cliente este cdigo recin creado por
medio del protocolo HTTP.

Las aplicaciones en el lado del servidor mayormente suelen ser la mejor opcin para
desarrollar aplicaciones Web. La razn es que, al ejecutarse sta en el servidor y no en la
mquina del cliente, ste ltimo no necesita ninguna capacidad aadida para ejecutar la
aplicacin, como s ocurre en el caso de querer ejecutar aplicaciones que incluyan scripts
con javascript o java. As pues, cualquier cliente que disponga de un navegador Web bsico
puede utilizar este tipo de aplicaciones.

Aplicaciones en el lado del servidor


Una aplicacin en el lado del servidor es cualquier programa o conjunto de instrucciones
diseadas con la finalidad de que un servidor Web las procese para realizar alguna accin.
Las aplicaciones del lado del servidor estn escritas mediante un lenguaje de programacin,
entre los que ms se utilizan estn los siguientes:

PHP
ASP
Perl
Python
Ruby

Servidores basados en procesos

Este diseo es el predecesor de todos los dems. Se basa en la obtencin de paralelismo


mediante la duplicacin del proceso de ejecucin. Existen varios diseos basados en
procesos. El ms simple es en el que el proceso principal espera la llegada de una nueva
conexin y en ese momento, se duplica creando una copia exacta que atender esta
conexin. Sobre esta opcin de diseo caben optimizaciones importantes, como las que
incluy Apache con la tcnica de Pre-fork.

Tcnica pre-fork. Consiste en la creacin previa de un grupo de procesos y su


mantenimiento hasta que sea necesaria su utilizacin. Las principales ventajas de este
diseo residen en su simplicidad de implementacin y su seguridad. La gran desventaja de
este diseo es el bajo rendimiento. La creacin o eliminacin de un proceso son tareas
pesadas para el sistema operativo y consumen una gran cantidad de tiempo.

Servidores basados en hilos

Este tipo de diseo hoy en da es mucho ms comn que el basado en procesos. Los
conceptos bsicos respecto al funcionamiento de un servidor basado en procesos son
aplicables tambin a este modelo. Las principales diferencias de los dos modelos residen en
el propio concepto de hilo. La ventaja es que la creacin de un hilo no es tan costosa como
la de un proceso. Varios hilos de un mismo proceso pueden compartir datos entre ellos, ya
que comparten el mismo espacio de memoria.

El modelo de servidor basado en hilos hereda muchas de las caractersticas de los


Servidores basados en procesos, entre ellas la de la simplicidad en su diseo e
implementacin. Por otro lado, el compartir el espacio de memoria implica un riesgo de
seguridad que no tienen los servidores basado en procesos.
Hilos y procesos.Proceso: Es una ocurrencia o instancia de un programa en ejecucin.
Adems, un proceso es propietario de una serie de recursos como: un espacio de
direcciones en memoria, ficheros, hilos, etc.

Hilo: Es un proceso totalmente aislado es un proceso inerte, es decir, para que un proceso
sea capaz de hacer algo, el proceso debe ser propietario de al menos un hilo (thread). El
hilo es el responsable de ejecutar el Cdigo contenido en el espacio de direcciones del
proceso. De hecho, un proceso puede contener varios hilos y todos ellos ejecutando cdigo
"simultneamente" en el espacio de direcciones del proceso y compartiendo recursos
comunes.

Al compartir todos los hilos de un proceso la misma zona de memoria, si un hilo toca una
variable, todos los dems hilos del mismo proceso vern el nuevo valor de la variable. Si no
hay hilos ejecutando cdigo en el espacio de direcciones del proceso no hay ninguna razn
para que el proceso contine existiendo y el sistema destruir automticamente el proceso y
su espacio en memoria.

Servidores basado en sockets no bloqueantes o dirigidos por eventos

Estos servidores basan su funcionamiento en la utilizacin de lecturas y escrituras


asncronas sobre Sockets. Normalmente, estos servidores utilizan una llamada al sistema
que examine el estado de los sockets con los que trabaja. Cada sistema operativo
implementa una o ms funciones de examen de sockets. El objetivo de estas funciones es
inspeccionar el estado de un grupo de sockets asociados a cada una de las conexiones.

La ventaja de este diseo es principalmente su velocidad.


La desventaja es que la concurrencia es simulada; es decir, existe un slo proceso y un slo
hilo, desde el cual se atienden todas las conexiones.

Socket: No son ms que puntos o medios de comunicacin entre dos aplicaciones que
permiten que un proceso hable (emita o reciba informacin) con otro proceso estando los
dos en distintas mquinas. Lo vemos mejor con un dibujo:

Si extrapolamos el concepto a la comunicacin entre personas, un socket es al sistema de


comunicacin entre ordenadores lo que un telfono es al sistema de comunicacin entre
personas: un punto de comunicacin entre dos agentes (procesos o personas
respectivamente) por el cual se puede emitir o recibir informacin.
Servidores implementados en el kernel

Este diseo es un poco especial. Se trata de un intento de acelerar la velocidad de un


servidor Web mediante el movimiento de su cdigo de espacio de usuario a espacio de
kernel. En teora este modelo se muestra muy eficiente, pero de cara al mundo real, los
problemas e inconvenientes son muy grandes. Hay que tener en cuenta que cualquier
problema que se produzca a nivel de kernel puede ocasionar la cada de todo el sistema
completo.

Servidores ms usados
Apache

Est diseado para ser un Servidor Web potente y flexible que pueda funcionar en la ms
amplia variedad de plataformas y entornos. Las diferentes plataformas y entornos, hacen
que a menudo sean necesarias diferentes caractersticas o funcionalidades. Apache se ha
adaptado siempre a una gran variedad de entornos a travs de su diseo modular.

Este diseo permite a los administradores de Sitios Web elegir que caractersticas van a ser
incluidas en el servidor seleccionando que mdulos se van a cargar, ya sea al compilar o al
ejecutar el servidor. Este es el ms comn y ms utilizado en todo el mundo.

Adems, es gratuito, y de Cdigo abierto, as que podramos decir que corre sobre cualquier
plataforma. Apache es una muestra, al igual que el Sistema Operativo Linux (un Unix
desarrollado inicialmente para PC), de que el trabajo voluntario y cooperativo dentro de
Internet es capaz de producir aplicaciones de calidad profesional difciles de igualar.

Microsoft IIS

Es el Servidor Web de Microsoft, el IIS (Internet Informatin Server), es el motor que


ofrece esta compaa a modo profesional, con l es posible programar en ASP (Active
Server Pages, Pginas de Servidor Activo) las cuales vienen a ser algo similares al PHP,
este servidor posee componentes programables desde ASP accediendo a cada uno de sus
mdulos para una funcin especfica.

Este tipo de servidor lo llevan slo los sistemas Windows NT, por tanto aadimos
Windows 2000 Professional, Windows 2000 Advanced Server, Windows XP Professional,
los cuales traen las versiones 4.0, 5.0 y 5.1, no obstante en la versin del Windows .NET
Server vendr la versin 6.0 (dicho sistema est en fase beta y que se puede descargar
desde la misma sede de Microsoft, slo es necesario registrarse).

En los sistemas Windows XP el IIS no viene instalado por defecto por tanto hemos de tener
el CD con el sistema completo a mano para instalarlo desde:
Sun Java System Web Server

Es un servidor Web de alto rendimiento, de escalabilidad masiva y seguro que ofrece


contenido dinmico y esttico. Las caractersticas de virtualizacin de dominio, versatilidad
de configuracin y seguridad robusta, brindan una mejor calidad de servicio.

Ngnix

Nginx (se pronuncia enginx x) es un Servidor http y proxy inverso gratuito, de Cdigo
abierto y de alto rendimiento, adems de ser Servidor proxy para IMAP y POP3.Este
servidor esta actualmente manejando entre el 1% y el 4% de todos los dominios globales. A
pesar de ser todava una versin beta, Nginx es conocido por su estabilidad, su gran
conjunto de caractersticas, una configuracin sencilla y por consumir pocos recursos.
Como este servidor no provee actualmente de un adaptador directo para Merb, usted
requerir utilizar un proxy reverso en Nginx con el fin de direccionar peticiones hacia uno o
varios procesos Merb distintos. Esto puede ejecutarse con cualquier Servidor de
aplicaciones basado en Rack, como Mongrel, Thin, Ebb o Glassfish.

Lighttp

Es un servidor Web para los Sistemas operativos Unix/Linux y Microsoft Windows. Este
servidor tambin conocido como Lighty, es una alternativa para el Servidor de paginas Web
Apache. Esta diseado para ser seguro, rpido (muy rpido a decir verdad), compatible con
los estandars y flexible a la vez que esta optimizado para entornos en los cuales la
velocidad es critica.

Su huella de memoria es muy pequea (en comparacion a otros servidores Web), una ligera
carga en el CPU y su enfoque en velocidad hacen de lighttpd perfecto para servidores con
demasiada carga. Este servidor Web es otro de los ms ligeros que hay en el mercado. Est
especialmente pensado para hacer cargas pesadas sin perder balance, utilizando poca RAM
y poca de CPU. Algunas pginas populares que lo usan son Youtube, Wikipedia y otras que
soportan gran trfico diariamente. Tambin es gratuito y se distribuye bajo Licencia BSD.

Funcionamiento en la actualidad
El uso de los Servicios Web integra la informacin que puede ser accedida desde distintos
dispositivos, desde distintas plataformas de Hardware o Software y que puede estar
guardada en distintos formatos. El lenguaje estndar para lograr esta integracin es XML.
Adems los servidores Web pueden disponer de un intrprete de otros lenguajes de
programacin que ejecutan cdigo embebido dentro del cdigo HTML de las pginas que
contiene el sitio antes de enviar el resultado al cliente.

Esto se conoce como programacin de lado del servidor y utiliza lenguajes como ASP,
PHP, Perl y Ajax. Las ventajas de utilizar estos lenguajes radica en la potencia de los
mismos ejecutando tareas mas complejas como, por ejemplo acceder a bases de datos
abstrayendo al cliente de toda la operacin.
Los servidores en el mundo hoy en da son completamente imprescindibles sin ellos no
podramos hablar por telfono, las comunicaciones en un alto porcentaje desapareceran, la
Telefona mvil y fija se vera muy afectada, todos los negocios que trabajan en o con sedes
centrales repartiendo sus datos y recursos quedaran completamente paralizadas (veamos
por ejemplo, casas de seguros, bancos, hospitales), si maana no hubiesen Servidores, o
bueno, y porque no decirlo, administradores de sistemas, el pas tardara muy poco en
sumirse en el caos, un Sistema informtico puede controlar Cmaras de seguridad, el estado
del trfico, por ejemplo tambin utilizamos los sistemas informticos para hacer las
predicciones del tiempo, y alguien puede pensar que se estn citando algunos ejemplos que
podra procesar un solo sistema, si, pero como recibira ese sistema datos de otros sistemas
informticos repartidos por el mundo si no tuviesen el soporte de otros servidores y redes
para comunicarse entre si? simplemente no podran.

Servidores Web ms utilizados


Apache
IIS
Tomcat
Cherokee
webfsd

Vase tambin
Servidor
Servidor Apache
Apache Servidor Web
Servidor Bases de Datos
Servidor DHCP
Servidor Dedicado
Servidor HTTP Apache
Servidor HTTP Cherokee
Servidor Internet Information Server
Servidores Bind
Servidores DNS Bind
Servidores FTP
Servidores OpenSSH
Servidores de Base de Datos
Servidores de Correo

Fuentes
merbist
guatewireless
mastemagazine
abadiadigital
ventics
Artculo del sitio Web Technology Surveys.
Sitio Web del proyecto Apache.
Sitio Web Maestros del Web.

Вам также может понравиться