Академический Документы
Профессиональный Документы
Культура Документы
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 ]
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.
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.
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.
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.
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.
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.
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:
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).
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.
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.
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.
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.
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.
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
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.
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.
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.
PHP
ASP
Perl
Python
Ruby
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.
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.
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:
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
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
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.
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.