Servidor WEB
SD
2
Objetivos
• Bases de Servidor Web.
• Software para servidor Web
• Programas para el servidor WEB.
• Web server hardware
3
Bases de los servidores Web• Responder a las peticiones HTTP de los
clientes (Navegador/Browser).
• Tres elementos:– Hardware– El SO.– El programa del servidor WEB (SW).– El software ayudante al SW.
4
Tipos de servidores WEB
• De desarrollo– Se utiliza para la evaluacion de diferentes
estrategias y tecnicas de deseño.Used to evaluate different Web designs
• Intranets– WEB en una sola empresa.
• Extranets– El WEB destinado al usuario de todo el
mundo.
5
Tipos de servidores WEB 2
• Sitios de proceso de transacciones.
– 7-7 24-24, por ejemplo pagos.
• Sitios de contenidos (por ejemplo noticias).
• Sitios de contenidos Multimedia (musica, video) tolerantes a perdidas.
6
Web Clients and Web Servers
• Client/server architectures
– Client computers typically request services
– Server processes clients’ requests
• Web software
– Lets different types of computers, running different operating systems, communicate
7
Platform Neutrality of the Web
8
Tipos de servidores WEB 3
• De contenido estático – el material se encuentra grabado en los discos y se proporciona tal cual al usuario. El servidor copia el contenido.
• De contenido dinámico La pagina WEB se genera de algún programa que se ejecuta del servidor.
9
Contenido Dinámico
El contenido se genera según la petición del cliente (y de su perfil o características).
• Pagina Dinámica– Resultado de ejecución de un programa
especifico.
• Pagina estática– La pagina simplemente se copia del disco.
10
Contenido Dinámico 2
• Pagina resultado de un servicio WEB– se genera por petición de otro servidor.
• Server Side Scripting– CGI.
• Tecnologías de generar paginas dinámicas
– Active Server Pages (ASP)
– JavaServer Pages (JSP)
– PHP: Hypertext Preprocessor (PHP)
11
Diferentes sentidos de servidor
• Servidor – Ordenador que proporciona ficheros y resultados de
ejecución de sus programas a otros ordenadores. (ej. www.uam.es).
• Software de servidor– Es el programa que hace los servicios del servidor
accesibles de otros ordenadores. (ej. servidor apache).
• Servidor de base de datos– Ordenador donde está situada la BD SQL? (o sus
replicas).
12
C-S de 2 niveles (2 tier)
• Solo un cliente y un servidor.
• El cliente manda un URL de peticion de un fichero.
• Mensaje de peticion (request) típico HTTP– Linea de petición. (URL) – Cabecera (Request header).– Request body (opcional solo con POST)
13
C-S de 2 niveles (2 tier)Flojo de mensajes
14
Arquitectura de 3 y N capas
• 3 capas (three tier architectures)
– Pide otros servidores (por ejemplo servidores SQL).
• Multiples capas. N-tier architectures
– Arquitecturas de orden superior.
– La tercera capa también puede pedir servicios a otros servidores.
15
Ejemplo tipico de 3 capas
16
Programas para servidores WEB
• SO– Alocacion de resursos y ejecucion (planificador de
ejecucion).– Linux
• SO Open-source. Facil de instalar, rapido, eficiente.
* Open-source software– Dowload con precio 0. Fuentes disponibles.
17
Servidores WEB
• Servidores mas populares
– Apache HTTP Server
– Microsoft Internet Information Server (IIS)
– Sun Java System Web Server (JSWS)
• Netcraft
– Hace el ranking. Recibe regalos y lobbing.
18
Apache HTTP Server
• En desarrollo. Lo que es bueno...
• Domina el mercado desde 1996. Gratis y eficiente. Código abierto.
• Apache
– Autor Rob McCool at the University of Illinois in1994 @ NCSA
19
Microsoft Internet Information Server (MS IIS)
• Viene integrado con la versión corporativa de MS Windows.
• Se utiliza en muchas Intranets.– El desarrollo es mas caro, pero requiere un
poco menos esfuerzo de mantenimiento.
La integración con MS SQL o ODBC server es inmediata.
• Utiliza el lengaje de script ASP. Tambien ActiveX Data Objects. SQL database queries. OJO con PHP!
20
Sun Java System Web Server (Sun ONE, iPlanet, Netscape)
• El hijo primigenio de NCSA Web server.
• Sinonimos: Sun ONE; Netscape Enterprise Server; iPlanet Enterprise Server
• Cuesta entre $1400 y $5000 /licencia.
• Mejor soporte online. (Pero no hay mucha información de ayuda).
21
La ejecución de una CGI
* Primero – clonar el servidor fork().
* Segundo – crear un proceso hijo del proceso clonado y ejecutar el programa del usuario. * Vigilando los recursos que gasta del SO:
• Tiempo• Memoria,• Ancho de banda,• Etc.,
* Vigilando el formato del mensaje (que sea HTTP).
El proceso al supera lso limites establecidos se para.
22
Anatomía de una CGI
* La entrada es de stdin y vale solo para el método HTTP POST.
* Los argumentos son de las variables del entorno.
* Puede escribirse en cualquier lenguaje de programación
* Tiene que dar un flujo de datos HTTP valido.
23
Anatomía de una CGI (2)
• Ejemplo de CGI (script):#!/bin/sh
echo “Content-type: text/html'
echo “”
echo “<html><body>Hola Mundo a las”
date
echo “. </body></html>”
* Resultado de ejecucion:
Content-type: text/html
<html><body>Hola Mundo a las
jue sep 19 20:12:24 CEST 2013
. </body></html>
24
Sumario
• LA WEB es arquitectura C/S.
• Peticiones HTTP simples se resuelven con arquitectura de 2 niveles.
• SO que se utilizan en servidores WEB.– Microsoft server OS– SO basados a UNIX
25
Summary (continued)• Utility programs running on Web server
computers – Finger, Ping, Tracert, e-mail server software, Telnet,
and FTP
• Unsolicited commercial e-mail (spam) – Has grown dramatically in recent years– Content filters are becoming available to deal with the
problem
26
Fin de la parte esencial