Tema 1:
Arquitectura Web.
1.
Introducción.
1. Componentes semánticos de la Web.
? URI
? HTTP
? HTML
2. Componentes software de la WEB (Arquitectura Web).
1. Cliente
2. Servidor
3. Proxie
3. Arquitectura de las Aplicaciones Web
IST - 2006
Arquitectura Web
1
1. Introducción.
La Web.
? World Wide Web:
? Universo de información interconectada, accesible a través de
internet.
? Propuesta por Tim Berners-Lee (1989).
? Ha tenido mayor difusión que otros servicios
contemporáneas (Archie, Gopher, WAIS), gracias sobre
todo a uno de sus elementos: el HTML.
? Hipertexto.
? Hipermedia.
? En el 2001 había más de un billón de URLs accesibles
al público, repartidas entre más de 30 millones de
servidores.
IST - 2006
Arquitectura Web
2
Tema 1: Arquitectura Web. HTTP.
1
1. Introducción.
1.1 Componentes semánticos de la Web
? URI: Uniform Resource Identifier.
? Identifica los recursos web para su acceso y manipulación.
? HTML: HyperText Markup Language.
? Lenguaje de marcas.
? Provee una representación estándar de los documentos
hipertexto en formato ASCII.
? Permite formatear texto, integrar imágenes, referenciar otros
documentos, etc.
? HTTP: Hypertext Transfer Protocol.
? Protocolo que permite a los componentes web (cliente,
servidores, etc) comunicarse de una forma estándar y bien
definida.
? Define el formato y el significado de los mensajes intercambiados
entre componentes web.
IST - 2006
Arquitectura Web
3
1. Introducción.
1.1 Componentes semánticos de la Web.
Codificación URI
?Identifica de forma única el recurso.
?2 Tipos:
?URN: Uniform Resource Name.
?Identifica de forma única el recurso, independientemente de
donde resida (RFC 2141).
?El mismo recurso situado en máquinas diferentes poseen el
mismo identificador.
?Todavía está en fase experimental.
?URL: Uniform Resource Locator.
?La forma más común de identificar el recurso.
?Señala exactamente donde se encuentra el recurso.
?3 partes principales:
?esquema + servidor + nombre del recurso.
IST - 2006
Arquitectura Web
4
Tema 1: Arquitectura Web. HTTP.
2
1. Introducción.
1.1 Componentes semánticos de la Web.
URL
? Sintáxis:
? esquema://[usuario];[password]@<maquina>:[puerto]/<cam
ino>;[parametros]?[consulta]#[sección]
? Esquema: protocolo (http, https, file, ftp, news, mailto, ..).
? Usuario:password: para recursos de acceso restringido
? Máquina: nombre del servidor
? Puerto: número del puerto donde escucha el servidor.
? Camino: Directorio virtual y nombre del recurso.
? Parámetros: pares nombre=valor utilizados por algunos
esquemas.
? Consulta: pares nombre=valor separados por &, utilizados en
algunas aplicaciones web.
? Sección: nombre de una parte del recurso.
? Ejemplos:
? http://www.hardware.com:2000/pc/check.cgi?item=1273&model=B
? ftp://jose:
[email protected]/informacion.txt
5
IST - 2006
Arquitectura Web
1. Introducción.
1.1 Componentes semánticos de la Web.
Conjunto de caracteres de la URL
? La URL ha sido diseñada para ser portable.
? Los caracteres especiales incluidos en la URL son
transformados antes de ser enviados:
? los caracteres de letras y números de la tabla ASCII
estándar se dejan intactos.
? Los espacios en blanco son sustituidos por +.
? Los caracteres especiales son sustituidos por su valor
hexadecimal con el prefijo '%‘.
? Los caracteres con un significado especial (“+”, “&” , “=”, “;” ,
“/”, “?”, “#”, etc. ) son también sustituidos por su código
hexadecimal.
Núñez & Cía. ? N%FA%F1ez+%26+C%EDa.
IST - 2006
Arquitectura Web
6
Tema 1: Arquitectura Web. HTTP.
3
2. Componentes software de la Web.
Arquitectura Cliente/Servidor
? El modelo cliente-servidor es una aquitectura software
que involucra uno o más clientes solicitando servicios a
uno o más servidores.
? El cliente puede ser un proceso corriendo en un
computadora o en un dispositivo como una PDA o un
teléfono móvil.
? El servidor puede ser un proceso corriendo en un
computadora (normalmente de altas prestaciones).
? En la arquitectura Web actual aparecen además
elementos que se sitúan en medio (proxies, cachés)
? Beneficios:
? Usabilidad/flexibilidad/interoperabilidad/ escalabilidad.
IST - 2006
Arquitectura Web
7
2. Componentes software de la Web.
Arquitectura Cliente/Servidor
Arquitectura cliente-servidor tradicional
Arquitectura cliente-servidor interactiva para la WEB
IST - 2006
Arquitectura Web
8
Tema 1: Arquitectura Web. HTTP.
4
2. Componentes software de la Web.
2.1 Clientes
? Originan el trafico web.
? Envían las peticiones y reciben las respuestas.
? Dos clases de clientes web: navegadores y robots.
? Los navegadores (Netscape, IE, etc).
? Las peticiones están dirigidas por el usuario.
? Repiten peticiones al mismo objeto cuando navegan por un site.
? Utilizan caches de memoria y disco.
? Robots (spiders, y agentes inteligentes).
? Las peticiones son automatizadas.
?La velocidad y carga está limitada por la velocidad de proceso, y por
la velocidad de la red.
IST - 2006
Arquitectura Web
9
2. Componentes software de la Web.
2.1 Clientes
Navegadores
? Programa que realiza las peticiones, a solicitud de un
usuario, y recibe, analiza y presenta las respuestas.
? Pasos:
Navegador
1. Solicitud DNS
Servidor DNS
URL
Servidor HTTP
2. Conexión TCP
3. Petición HTTP
4. Respuesta HTTP
IST - 2006
Arquitectura Web
10
Tema 1: Arquitectura Web. HTTP.
5
2. Componentes software de la Web.
2.1 Clientes
Funciones de los navegadores
? Construyen y mandan la petición HTTP
? Reciben, interpretan y presentan la respuesta.
? La apariencia final depende de los parámetros de configuración
? Algunos recursos precisan aplicaciones de ayuda para visualizars e
?Código MIME
? Proporcionan el interfaz para conectarse y utilizar otros
servicios: mail, news, ftp, etc.
? El protocolo por defecto es http.
? Caché local.
? Sirve recursos guardados en la caché sin conectarse al servidor.
? Consistencia:
?Fuerte: revalida siempre el recurso conectándose al servidor.
?Débil: se basa en los parámetros HTTP, y en los parámetros de
configuración, para decidir si es necesario revalidar el recurso.
? Manejo de las Cookies.
IST - 2006
Arquitectura Web
11
2. Componentes software de la Web.
2.1 Clientes
Spiders
? Robots dedicados a la b úsqueda automática de
información.
? Parten de la página principal de un sitio web, y examinan los
enlaces embebidos que encuentran.
? Las peticiones están espaciadas en el tiempo para no
sobrecargar el servidor.
? La información se utiliza posteriormente en aplicaciones
de búsqueda (google, yahoo).
? Los recursos dinámicos (CGI, PHP, etc.) no son
indexados.
? Algunos sitios web no desean ser indexados:
? Controlan el acceso de robots.
? Los recursos HTML incluyen una directiva META:
?<META NAME=“ROBOTS” CONTENT=“NOINDEX, NOFOLLOW”>
IST - 2006
Arquitectura Web
12
Tema 1: Arquitectura Web. HTTP.
6
2. Componentes software de la Web.
2.2 Servidores
? Programa que contesta y genera la respuesta HTTP a
las peticiones de recursos web por parte del cliente
? Involucra múltiples servidores, scripts, bases de datos, ..
? Trabajo básico:
? Se conecta con el cliente.
? Recibe el mensaje HTTP de la petición.
? Procesa el mensaje HTTP.
? Localiza y envía el resultado (en forma de mensaje HTTP)
? Los servidores de altas prestaciones, además:
? Tratan múltiples peticiones:
?hilos para manejar cada conexión.
? Generan dinámicamente contenido: ASP, PHP, JSP
? Caché.
? Los más populares son Apache e IIS.
IST - 2006
Arquitectura Web
13
2. Componentes software de la Web.
2.2 Servidores
Manejo de las peticiones
? Los servidores proveen acceso a los recursos:
? Estáticos.
? Dinámicos (scripts que generan la respuesta dinámicamente).
? Pasos:
? Lee e interpreta el mensaje de petición (método, URL, cookies,..)
? Localiza físicamente el recurso apuntado en la URL
? Determina si el cliente está autorizado (controla el acceso)
? Genera el mensaje de respuesta y lo transmite (cookies)
? Registra la operación en un fichero de log
? Controlan el acceso a recursos restringidos:
? Autenticación.
?Piden al usuario que se identifique (login y password)
?La información se incluye en la cabecera del mensaje.
? Autorización.
IST - 2006
?Comprueba en su lista de acceso si el usuario está autorizado.
Arquitectura Web
14
Tema 1: Arquitectura Web. HTTP.
7
2. Componentes software de la Web.
2.2 Servidores
Recursos dinámicos
?El contenido se crea tras recibir la petición.
?El recurso apuntado en la URL incluye código que debe
ser ejecutado para resolver el contenido de la
respuesta.
?Dos tipos:
?Scripts de servidor (PHP, ASP, JSP)
?Ficheros HTML que incluyen macros que el servidor (un
módulo) interpreta para insertar la información precisa.
?El servidor reconoce este tipo de recursos por la extensión
?Programas independientes (CGI, Servlets)
?Programa separado del servidor que genera la respuesta.
?Fórmulas:
?Procesos separados (CGI). Pueden ser persistentes (FastCGI).
?Módulos software en el mismo proceso (Servlets).
IST - 2006
Arquitectura Web
15
2. Componentes software de la Web.
2.2 Servidores
Servidores complejos (I)
Imágenes
Servidor
frontal
HTML
Base de datos
IST - 2006
Arquitectura Web
16
Consulta/
búsqueda
Tema 1: Arquitectura Web. HTTP.
8
2. Componentes software de la Web.
2.2 Servidores
Servidores complejos (II)
? Algunos sitios web tienen un conjunto amplio de
máquinas servidoras actuando como un único servidor.
? Cluster de máquinas.
?Estructuradas en capas.
? No son necesariamente servidores virtuales.
? Servidor frontal:
? Caché, direcciona las peticiones, balancea la carga
? Servidores de contenido:
? Algunas veces diferenciados de acuerdo al tipo de petición
(HTML, imágenes, consulta, búsqueda).
? Servidores de bases de datos.
? Información que contribuye a la parte dinámica.
IST - 2006
Arquitectura Web
17
2. Componen
Comentarios de: Tema 1: Arquitectura Web (0)
No hay comentarios