Sie sind auf Seite 1von 39

26/04/2011

Universidad de Alcal
Departamento de Automtica
rea de Ingeniera Telemtica

it

Servicios de Informacin
(primera parte)

IT-AUT-UAH

Contenido
Introduccin al servicio WEB
Elementos de la arquitectura

Protocolo HTTP

Generalidades
Tipos de conexiones HTTP/TCP
Mensajes: tipos, formato, cabeceras
Interaccin usuario servidor: autorizacin y cookies
Cach web

GET condicional
Servidor Proxy
Cach WEB jerrquico
Cach WEB cooperativo

HTML
Audio y vdeo en la red

IT-AUT-UAH

26/04/2011

Introduccin al servicio WEB


WWW: World Wide Web
Aplicacin de red distribuida
Basada en el modelo Cliente-Servidor

Servicio para acceso a informacin, a documentos


vinculados y distribuidos en muchos Hots en Internet
Red de documentos vinculados

Posibilita, de manera sencilla:


Recibir informacin
Publicar informacin
Navegar por un oceno de informacin a travs de hiperenlaces,
y la interaccin de diferentes pginas WEB

Funciona bajo demanda


Los usuarios reciben y publican lo que quieren y cuando quieren

IT-AUT-UAH

Introduccin al servicio WEB


La WEB impuso Internet sobre otras redes
de datos
Historia
1989: inicio del servicio WEB, slo texto
1991: primera demostracin pblica
1993: Mosaic, primer Navegador grfico
Posteriormente boom de Internet
Navegadores multimedia: Netscape Navigator, MS
Internet Explorer, Mozilla (Firefox), Chrome, etc.
IT-AUT-UAH

26/04/2011

Introduccin al servicio WEB


Elementos de la arquitectura WEB
Pginas
HTML1, hipertexto, hiperenlaces

Objetos
Pueden residir o no en el mismo Host

Direccionado
URL: Uniform Resource Locator

Entidades funcionales
Cliente WEB (Navegador)
Servidor WEB

Protocolo HTTP
---------------------------------------------------------------------------1: HTML: Hyper Tetxt Markup Language. Lenguaje de marcas de hipertexto

IT-AUT-UAH

Introduccin al servicio WEB

Halsall, Computing Networking and the Internet, 5th Edition Pearson Education Limited 2005

IT-AUT-UAH

26/04/2011

Introduccin al servicio WEB


Pginas WEB
Contienen los denominados objetos WEB
Generalmente formada por:
Fichero HTML base
Referencia a los otros objetos de la pgina

Diferentes objetos referenciados, en diferentes formatos


posibles
Texto ordinario, hipertexto, imgenes, vdeos, audio
Vinculados o no a otras pginas

Objetos WEB
Archivos: HTML, JPEG, etc.
Cada uno direccionable a travs de un nico URL
IT-AUT-UAH

Introduccin al servicio WEB


Direccionado WEB
En base al URI
URI: Universal Resource Identifier

Segn:
Ubicacin, a travs de un URL
URL: Uniform Resource Locator

Nombre, a travs de un URN


URN: Universal Resource Name
Ms adecuado para servidores y contenidos replicados

IT-AUT-UAH

26/04/2011

Introduccin al servicio WEB


URL: Uniform Resource Locator

Elemento para direccionamiento de recursos en la red

Apunta a un Host determinado, y a travs de ste a un objeto en particular

Recursos:

P.e, para direccionamiento WEB


Estticos: archivos
Dinmicos: resultado de la ejecucin de un programa, resultado de una consulta
a una base de datos, traduccin automtica de un documento, etc.

Componentes:
1.
2.

Identificador del servicio (protocolo de acceso)


Nombre de dominio del Host servidor

3.
4.

Ruta de acceso al objeto


Nombre del objeto

Donde se encuentra un objeto, o coleccin de objetos

Ejemplo de URL para el servicio WEB

http://www.escuela.es/dpto/imagen1.jpg
1

IT-AUT-UAH

Introduccin al servicio WEB


URL (cont.)

Hay definidos diferentes tipos de URLs, segn protocolo de acceso


Posibilitan acceso a otras aplicaciones de Internet
En muchos Navegadores  Acceso integrado a travs del Navegador WEB*
Prescindir de programas de interfaz especializados

Ejemplos:
FTP
ftp://ftp.cs.vv.nl/pub/readme

Telnet
telnet://www.w3.org:80

Correo
mailto:cime@gmail.com

Para fichero almacenado en el ordenador donde se ejecuta el Navegador


file://hipertexto/html/mipagina.html

IT-AUT-UAH

10

26/04/2011

Introduccin al servicio WEB


Los URLs apuntan a un Host especfico
No posibilitan:
Referirse a un objeto sin especificar el Host donde se encuentra
Direccionar directamente un objeto sin indicar su ubicacin en la red

Cosas muy deseadas para referirse a objetos replicados en


varios servidores
Se investiga en esta direccin
URN: Universal Resource Name
Para localizar nombres
Es como un URL generalizado

IT-AUT-UAH

11

Introduccin al servicio WEB


Navegador
Comprende dos entidades funcionales:
Agente de Usuario
Software para interfaz entre usuario y aplicacin WEB
Posibilita atrapar y visualizar pginas WEB, y navegar por sus
contenidos
Presenta diferentes caractersticas de configuracin

Cliente HTTP
Software de comunicacin que implementa parte cliente de HTTP

Ejemplos ms conocidos:

Netscape Navigator
MS Internet Explorer
Mozilla (Firefox)
Mosaic
Chrome, y otros ms

IT-AUT-UAH

12

26/04/2011

Introduccin al servicio WEB


Servidor WEB
Comprende tres entidades funcionales:
SW de acceso a ficheros
Base de datos
Alberga contenidos WEB (objetos)
Cada objeto direccionable con el correspondiente URL

Servidor HTTP
Software de comunicacin que implementa parte servidor de HTTP

Ejemplos ms conocidos:
Apache, quizs el ms utilizado
MS Information Server

IT-AUT-UAH

13

Introduccin al servicio WEB

Transacciones HTTP
COMPUTER NETWORKING. A Top_Down Approach Featuring the Internet. Third Edition by Kurose, J. F. and Ross, K. W. Pearson Education, Inc. 2003

IT-AUT-UAH

14

26/04/2011

HTTP
HTTP*: Hyper Text Transfer Protrocol
Protocolo del nivel de aplicacin para el servicio WEB, y en
general para transferencia de recursos
En uno u otro sentido (C  S)
Recursos:
Archivos
Resultado de la consulta a una base de datos, traduccin automtica de
un documento, ejecucin de un programa

Protocolo tambin para otros servicios


P.e, como protocolo de acceso al correo  correo WEB

Dos versiones compatibles entre si


HTTPv1.0  RFC 1945
HTTPv1.1  RFC 2616

Se implementa en dos partes:


Cliente HTTP
Modelo Cliente - Servidor
Servidor HTTP
Clientes y servidores con diferentes versiones pueden interactuar
IT-AUT-UAH

15

HTTP
HTTP (cont.)
Define:
Sintaxis y semntica de los mensajes
Procedimientos del protocolo
Basados en simples transacciones: peticin respuesta
Cliente solicita objetos  genera peticiones
Mensajes ASCII
Servidor transfiere objetos  genera respuestas
Mensajes ASCII tipo MIME (RFC 822)

Tipos de datos
Abierto a nuevos tipos de datos
Utiliza tipos MIME

Mensajes de Respuesta incluyen cabecera que


indica tipo de datos en el cuerpo del mensaje

IT-AUT-UAH

16

26/04/2011

HTTP
HTTP slo define protocolo de comunicacin entre
Navegador y servidor WEB
No interviene en cmo el Navegador interpreta los objetos
Utilidades del cliente se encargan de la gestin de datos (visor de
imgenes, de vdeo, etc.)

Navegador se ocupa de la gestin (presentacin) de los


datos que porta un mensaje de Respuesta
De manera directa o indirecta
Directa: Navegador los presenta, dispone de medios para ello
Indirecta: Navegador no dispone de los medios necesarios, invoca una
aplicacin en el Host del cliente, p.e:
Visor de imgenes, reproductor de sonido, reproductor de vdeo,
etc.

IT-AUT-UAH

17

HTTP
HTTP (cont.)
Protocolo sin estado y no conectivo
Servidor no guarda informacin de clientes ni de
transacciones HTTP
Se simplifica diseo de los Servidores
Posible servidores WEB de gran rendimiento, que pueden
manejar cientos de conexiones TCP a la vez

Protocolo de transporte para HTTP


El estndar no especifica
En la prctica TCP (puerto 80). Por tanto:
Toda transaccin HTTP requiere de una conexin TCP
HTTP no requiere de procedimientos de control de errores
 Protocolo relativamente simple
----------------------------------------1: TCP es un protocolo conectivo y con estado

IT-AUT-UAH

18

26/04/2011

HTTP
Tipos de conexiones TCP para HTTP
Conexiones TCP no persistentes
Solucin nica para HTTPv1.0
Tambin soportada por HTTPv1.1
Adecuadas en los inicios del servicio WEB, pginas
con slo texto HTML

Conexiones TCP persistentes


Solucin por defecto para HTTPv1.1
Adecuada para contenidos multimedia

IT-AUT-UAH

19

HTTP
Conexin TCP no persistente
Requiere conexin TCP independiente para transferencia
de cada objeto
Posibilita que conjunto enlazado de pginas pueda estar
distribuido entre varios servidores

La conexin TCP no persiste para los diferentes objetos


Diferentes objetos  diferentes conexiones TCP
Gestin de tantas conexiones TCP como nmero de objetos a
transferir
Independientemente de la ubicacin fsica de los objetos

Cada conexin TCP slo transporta dos mensajes HTTP


Mensaje de peticin y mensaje de respuesta
Una transaccin HTTP
IT-AUT-UAH

20

10

26/04/2011

HTTP
Modos para TCP no persistente
Conexiones en serie
Slo una conexin TCP abierta en cada momento
Para N objetos se gestionan N conexiones TCP una a una, en
serie una tras otra
 Ms demora para bajar todo el contenido de una pgina,
mayor tiempo de respuesta

Conexiones en paralelo
Posibilita varias conexiones TCP abiertas a la vez, en paralelo
 Menos demora para bajar todo el contenido de una pgina,
menor tiempo de respuesta
Normalmente los Navegadores pueden ser configurados para
controlar el grado de paralelismo
Grado de paralelismo: N simultneo de conexiones TCP no
persistentes
Valores tpicos entre 5 y 10
Valor 1  Modo serie
IT-AUT-UAH

21

HTTP
Problemas de las conexiones no persistentes
Cada conexin TCP involucra informacin de estado
relativa a TCP
Que hay que gestionar y almacenar en el servidor y en el cliente
Carga de trabajo considerable, sobretodo en el servidor, que
puede estar manejando muchas peticiones a la vez

Cada objeto sufre un retardo de entrega de (2RTT + Txo)


RTT: Round Trip Time, tiempo de ida y vuelta
Txo: tiempo de transmisin de un objeto

IT-AUT-UAH

22

11

26/04/2011

HTTP
Retardo de entrega por objeto para conexiones TCP no persistentes

COMPUTER NETWORKING. A Top_Down Approach Featuring the Internet. Third Edition by Kurose, J. F. and Ross, K. W. Pearson Education, Inc. 2003

IT-AUT-UAH

23

HTTP
Conexin TCP persistente
Solucin ms eficiente respecto al tipo no persistente
Por una misma conexin TCP:
Discurren todas las transacciones HTTP relativas a diferentes
objetos
Peticin y Respuesta por cada objeto

Se transfieren todos los objetos de una pgina


Claro, si estn todos en el mismo servidor

Ms an:
Objetos de mltiples pginas pueden ser transferidos por la
misma conexin TCP, si cliente y servidor residen en las mismas
mquinas

Normalmente
Transcurrido un tiempo (configurable) sin transacciones,
servidor HTTP cierra la conexin TCP

IT-AUT-UAH

24

12

26/04/2011

HTTP
Modos para el tipo persistente
Sin entubamiento
Sin pipelining

Con entubamiento
Con pipelining

Conexiones SIN entubamiento


Admite slo una transaccin HTTP a la vez
Cliente slo admite nueva peticin cuando ha recibido
respuesta a peticin previa

Cada objeto sufre un retardo de entrega de (RTT + Txo)


Desaprovecha recursos del Servidor
IT-AUT-UAH

25

HTTP
Conexiones CON entubamiento
Modo por defecto para HTTPv1.1
Admite ms de una transaccin HTTP a la vez
Cliente realiza una peticin tan pronto encuentra referencia a
objeto
Puede hacer peticiones seguidas para los objetos referenciados,
sin esperar respuesta a la peticin anterior
Servidor enva respuestas seguidas

Posibilita:
Mejor aprovechamiento de la conexin TCP
Menor tiempo para descargar todos objetos, en relacin con el
modo SIN entubamiento

IT-AUT-UAH

26

13

26/04/2011

HTTP
Mensajes
HTTP define dos tipos de mensajes
Mtodos, son solicitudes tipo ASCII, y
Cdigos de estado, son respuestas tipo ASCII MIME

Formato de mensajes
Todo mensaje HTTP consta de:
Lnea de inicio (de solicitud o de respuesta)
Cabeceras* (de solicitud o de respuesta)
Lnea en blanco, como separador
Cuerpo (opcional)
------------------------------------------------------------------------------------------------------------------------*: siguen el formato genrico de la RFC 822

IT-AUT-UAH

27

HTTP
Formato de mensajes (cont.)
Lnea de inicio de Solicitud: tres campos separados por
espacios
Mtodo URL VersinCRLF
Mtodo: identifica el Mtodo o Solicitud
URL: parte del URL que identifica ruta del objeto en el servidor
Versin: identifica versin del protocolo HTTP

Lnea de inicio de Respuesta: tres campos separados


por espacios
Versin CdigodeEstado FraseCRLF
Versin: identifica versin del protocolo HTTP
CdigodeEstado: identifica Cdigo de Estado o Respuesta
Frase: expresin explicativa y resumida de la Respuesta

-------------------------------------------CR: retorno del carro


LF: nueva lnea

IT-AUT-UAH

28

14

26/04/2011

HTTP
Formato de mensajes (cont.)
Cabeceras de Solicitud
Dan informacin del Navegador, y eventualmente del usuario

Cabeceras de Respuesta
Dan informacin del servidor y del recurso

Cuerpo
Para mensajes de Solicitud:
Puede contener parmetros relativos a los archivos solicitados
al servidor, o estar vaco

Para mensajes de Respuesta:


Contiene el recurso que se transfiere, o texto relativo a un
error producido

IT-AUT-UAH

29

HTTP

opcional

Formato general de un mensaje HTTP de Solicitud


COMPUTER NETWORKING. A Top_Down Approach Featuring the Internet. Third Edition by Kurose, J. F. and Ross, K. W. Pearson Education, Inc. 2003

IT-AUT-UAH

30

15

26/04/2011

HTTP

Formato general de un mensaje HTTP de Respuesta


COMPUTER NETWORKING. A Top_Down Approach Featuring the Internet. Third Edition by Kurose, J. F. and Ross, K. W. Pearson Education, Inc. 2003

IT-AUT-UAH

31

HTTP
Mtodos1 ms significativos
GET: solicitud de pgina/objeto
HEAD: solicitud slo de encabezado de pgina/objeto, NO
de contenido. Para supervisin y depuraciones
POST: solicitud de objeto enviando parmetros
PUT: solicitud para escritura de nueva pgina/objeto
DELETE: solicitud para eliminar contenido en una
pgina/objeto
OPTIONS: solicitud para consultar opciones.
P.e, propiedades del Servidor o de algn
fichero especfico
-----------------------------------------------------------------------------------------------------------1: caracteres en maysculas

IT-AUT-UAH

32

16

26/04/2011

HTTP
GET
Para solicitar informacin identificada por un URL
Si URL se refiere a un objeto
Se devuelve objeto referenciado

Si URL se refiere a un proceso generador de datos, como un programa


CGI (Common Gateway Interface)
Se devuelven datos generados por el programa

Tambin para enviar pequea cantidad de informacin al


Servidor, en forma de pares atributo-valor
Aadidos al final del URL, y seguido de un signo de interrogacin. P.e:
GET /cgi/saludar.pl?nombre=pepe&email=pepe@infor.uva.es HTTP/1.0

Para ms cantidad de informacin, mtodo POST

IT-AUT-UAH

33

HTTP
HEAD
dem al mtodo GET, pero mensaje de
Respuesta sin contenido
til para, p.e:
Obtener informacin en relacin con las entidades
implicadas en una Solicitud
Saber cundo fue la ltima modificacin de un
objeto solicitado
Comprobar si los enlaces son vlidos

IT-AUT-UAH

34

17

26/04/2011

HTTP
POST
Normalmente para invocar procesos que generan datos
Datos que sern devueltos como Respuesta a una Solicitud

Tambin para aportar datos de entrada a dichos


programas o procesos
Datos incluidos en el cuerpo del mensaje de Solicitud. P.e:
POST /cgi/saludar.pl HTTP/1.0
Accept: */*
{ ...............CONTENIDO...............................}

Posibilita enviar ms informacin al Servidor que GET

IT-AUT-UAH

35

HTTP
Algunas cabeceras de mensajes de SOLICITUD
Cabecera

Tipo

Contenido

User-Agent

Solicitud

Informacin del Navegador y su plataforma

Accept

Solicitud

Tipo de contenidos que el Cliente puede aceptar

Accept-Charset

Solicitud

Conjunto de caracteres aceptables por el Cliente

Accept-Encoding

Solicitud

Codificaciones que puede aceptar el Cliente

Accept-Language

Solicitud

Idiomas que el Cliente puede manejar

Host

Solicitud

Nombre DNS del Servidor

Authorization

Solicitud

Lista los credenciales del Cliente (nombre de usuario y clave)

Cookie

Solicitud

Cliente notifica que enva al Servidor una cookie,


previamente por ste establecida

IT-AUT-UAH

36

18

26/04/2011

HTTP
Cdigos de Estado
Cdigo de tres caracteres numricos
Primer carcter indica categora del mensaje de Respuesta

Para detalles, consultar RFC 2616

Categoras de los Cdigos de Estado


1xx: informacin, respuesta provisional (100199)
2xx: xito en la resolucin de la solicitud (200-299)
3xx: solicitud redirigida, necesarias ms acciones (300-399)
4xx: error del cliente (400-499)
5xx: error del servidor (500-599)

IT-AUT-UAH

37

HTTP
Cdigos de Estado ms significativos
1xx: Mensajes de informacin
100: Continua
101: Cambio de protocolo

2xx: Mensajes de operacin exitosa


200: OK
201: Creado
202: Aceptado
203: Informacin no original, es una copia
204: Sin Contenido
205: Contenido para reset
206: Contenido parcial
IT-AUT-UAH

38

19

26/04/2011

HTTP
3xx: Mensajes de redireccin hacia otro URL
300: Mltiples posibilidades
301: Mudado permanentemente, se manda el nuevo URL
302: Encontrado
303: Ver otros
304: No modificado
305: Utilice un Proxy
306: Este cdigo de estado est vacante, reservado
307: Redireccionado temporalmente, se manda nuevo URL

IT-AUT-UAH

39

HTTP
4xx: Mensajes de error por parte del cliente
400: Solicitud incorrecta
401: Autorizacin requerida
402: Pago requerido
403: Prohibido
404: No encontrado
405: Mtodo no permitido
406: No aceptable
407: Proxy de autenticacin requerido
408: Tiempo de espera agotado
409: Conflicto
IT-AUT-UAH

40

20

26/04/2011

HTTP
4xx (cont.)
410: Recurso solicitado no disponible ya
411: Requiere longitud
412: Fall precondicin
413: Entidad de solicitud demasiado larga
414: URI de solicitud demasiado largo
415: Tipo de medio no soportado
416: Rango solicitado no disponible
417: Fall expectativa

IT-AUT-UAH

41

HTTP
5xx: Mensajes de error por parte del servidor
500: Error interno
501: No implementado
502: Pasarela incorrecta
503: Servicio no disponible
504: Tiempo de espera de la pasarela agotado
505: Versin HTTP no soportada

IT-AUT-UAH

42

21

26/04/2011

HTTP
Algunas cabeceras de mensajes RESPUESTA
Cabecera

Tipo

Contenido

Server

Respuesta

Informacin del Servidor

Content-Encoding

Respuesta

Indica tipo de codificacin del contenido

Content-Language

Respuesta

Indica idioma utilizado en el contenido

Content-Length

Respuesta

Indica N de octetos del contenido

Content-Type

Respuesta

Indica tipo MIME del contenido

Last-Modified

Respuesta

Indica fecha y hora de la ltima modificacin del un recurso

Location

Respuesta

Indica al Cliente que enve su solicitud a otro sitio donde


encontrar el recurso

Set-Cookie

Respuesta

Indica que el Servidor desea que el Cliente guarde una cookie

Authenticate

Respuesta

Indica al Cliente que se requiere autenticacin

IT-AUT-UAH

43

HTTP
Algunas cabeceras comunes SOLICITUD/RESPUESTA
Cabecera

Tipo

Contenido

Date

Solicitud/Respuesta

Indica fecha y hora en que se enva el mensaje

Connection

Solicitud/Respuesta

Indica en relacin con la conexin TCP, cerrar o


mantener

IT-AUT-UAH

44

22

26/04/2011

HTTP
Qu cabeceras se utilizan en los mensajes HTTP?
Depende de diferentes factores, entre otros:
Por parte del Navegador, en los Mtodos:
Tipo de mensaje
Versin del protocolo
Configuracin del Navegador hecha por el usuario (p.e,
idioma preferido)
Si el Navegador dispone de una versin cach del objeto

Por parte del Servidor, en los Cdigos de Estado:


Tipo de mensaje
Versin del protocolo
Configuracin del Servidor
IT-AUT-UAH

45

HTTP
Ejemplos de mensajes HTTP
Ejemplo 1
Cliente solicita al servidor el objeto doc1.html
GET /doc1.html HTTP/1.0
Accept: www/source
Accept: text/html
Accept: image/gif
User-Agent: Lynx/2.2 libwww/2.14
From: pepe@info.ula.es
/* esto es una linea en blanco */
Cliente indica en el mensaje de Solicitud
Mtodo GET, fichero que solicita y versin HTTP
Lista de tipos MIME que puede aceptar
Identificacin del SW de la mquina Cliente. Normalmente SO y Navegador
Posibilita al servidor optimizar los ficheros para el tipo particular de Navegador
Direccin de correo electrnico del usuario
Lnea en blanco, final de cabeceras HTTP
IT-AUT-UAH

46

23

26/04/2011

HTTP
Ejemplo 1 (cont.)
El servidor responde de la siguiente manera:
HTTP/1.0 200 OK
Date: Friday, 23-Feb-01 16:30:00 GMT
Server: Apache/1.1.1
Content-type: text/html
Content-length: 230
/* esto es una linea en blanco */
<HTML><HEAD><TITLE> ........ </HTML>
Servidor indica en su mensaje de Respuesta:
Versin 1.0 de HTTP
Cdigo de estado 200  Solicitud procesada satisfactoriamente
Fecha y hora que se enva el mensaje
Tipo de servidor: Apache
Tipo de contenido: texto en formato HTML
Longitud en octetos del contenido: 230

IT-AUT-UAH

Ejemplo 2

47

HTTP

Halsall, Computing Networking and the Internet, 5th Edition Pearson Education Limited 2005

IT-AUT-UAH

48

24

26/04/2011

HTTP: torre de protocolos


Servidor Web

AP Cliente Web

Pgina Web
visualizada

Puertos X y Y: puertos efmeros, temporales


Puertos 53 y 80: puertos asignados a servidores
DNS y HTTP

Cargador de pginas
e intrprete HTML
Resolver
------------------------------Cliente HTTP
Puerto X

Puerto Y

TCP

UDP

Ficheros/
Pginas Web

DNS

Acceso a
ficheros
--------------------Servidor HTTP

Puerto 53

Puerto 80

Servidor DNS

UDP

AP Servidor Web

Cliente Web

TCP

IP

IP

IP

DL/PL

DL/PL

DL/PL

Consulta DNS
Respuesta DNS
Solicitud HTTP
Respuesta HTTP

Halsall, Computing Networking and the Internet, 5th Edition Pearson Education Limited 2005

IT-AUT-UAH

49

HTTP
Interaccin Usuario-Servidor
En ocasiones se requiere que un sitio WEB
identifique a los usuarios
Porque est restringido el acceso,
Porque se quiera servir a los usuarios en funcin de su
identidad

En consecuencia, HTTP dispone de dos


mecanismos para identificacin de usuarios:
Autorizacin, y
Cookies

IT-AUT-UAH

50

25

26/04/2011

HTTP
Autorizacin HTTP

Mecanismo utilizado por algunos sitios WEB para el acceso a sus


contenidos
Se basa en:
Nombre de usuario, y
Clave de acceso

En cada mensaje de Solicitud, Cliente enva nombre de usuario y clave


De manera transparente para el usuario
Slo lo teclea una vez, permanece en cach de la mquina,
O servidor le asocia una cookie

Requiere Cdigo de Estado y cabeceras especficas


Cdigo de Estado: 401 Authorization Required
Cabeceras:
Authenticate, para mensaje de Respuesta 401
Authorization, para mensaje de Solicitud GET
Incluye el nombre de usuario y la clave

IT-AUT-UAH

51

HTTP
Cookies* HTTP
Definidas en la RFC 2109
Mecanismo genrico de identificacin de usuarios
Procedimiento que emplean algunos sitios WEB para
identificar de manera genrica a sus usuarios y hacer
seguimiento de su actividad en el mismo
P.e, sitios de publicidad, de comercio electrnico, etc.

En principio para dar un mejor servicio, y un servicio


personalizado
Muy controvertido, de alguna manera se viola la privacidad
del usuario

IT-AUT-UAH

52

26

26/04/2011

HTTP

Componentes para el soporte de Cookies


1. Cabecera de cookie

En mensaje HTTP de Respuesta

2. Cabecera de cookie

En mensaje HTTP de Solicitud

3. Archivo de cookies

En el sistema de usuario
Lo gestiona el Navegador

4. Base de datos de respaldo

En el sitio WEB

IT-AUT-UAH

53

HTTP
Intercambios para cookies
Cuando un usuario accede por primera vez a un sitio WEB
que implementa cookies (por medio de un mensaje de
solicitud), el Servidor:
Crea un N de Identificacin nico para ese usuario, y tambin
Crea, en su base de datos, una entrada indexada por ese N de
Identificacin
Responde a dicha solicitud con un Cdigo de Estado que incluye
cabecera Set-Cookie con dicho N de Identificacin
Por ejemplo: Set-Cookie: 2980231

Cuando el Navegador recibe este mensaje de Respuesta


Aade una lnea al archivo de cookies que gestiona, que incluye:
Nombre del Servidor y
N de Identificacin (la cookie)
IT-AUT-UAH

54

27

26/04/2011

HTTP
Intercambios para cookies (cont.)
Cada vez que el usuario desee navegar por un sitio
WEB, y solicite un objeto:
Navegador consulta su fichero de cookies
Si hay cookie para dicho sitio, extrae el correspondiente N de
Identificacin y lo incluye en una cabecera cookie en el mensaje
de Solicitud
P.e: Cookie: 2980231

Y as para cada Solicitud

Posibilita al sitio WEB hacer seguimiento de la actividad


del usuario
Contenidos que visita, cuntas veces, en qu orden, etc.

IT-AUT-UAH

Cach WEB

55

HTTP

Procedimiento para mejorar prestaciones del


servicio WEB. Posibilita reducir:
Tiempo de obtencin de un objeto (latencia)
En particular para objetos grandes y se dispone de poco ancho
de banda de acceso

Trfico de red
Concretamente trfico WEB

Carga de trabajo de servidores WEB

Almacenamiento en cach de copias de objetos ya


obtenidos
En el cliente WEB, lo gestiona el Navegador
En un servidor de red actuando de intermediario (Proxy)
IT-AUT-UAH

56

28

26/04/2011

HTTP
Cach WEB (cont.)
Problema:
Actualidad de los objetos en cach
Si objeto ha sido actualizado en el servidor WEB,
puede haber variado su contenido  copia en cach
puede no corresponder con objeto actualizado

Por tanto, se requiere mecanismo HTTP para


comprobar actualidad de objetos en cach
 GET condicional

IT-AUT-UAH

57

HTTP
GET condicional
Mecanismo HTTP para:
Comprobar y garantizar actualidad de objetos en cach Web

Se implementa mediante:
Mensaje tipo GET, con cabecera especfica
Cabecera de Solicitud: If-Modified-Since

Tambin requiere cabecera especfica en mensajes de


Respuesta:
Cabecera de Respuesta: Last-Modified

IT-AUT-UAH

58

29

26/04/2011

HTTP
GET condicional (cont.)
Cabecera Last-modified
En mensajes Respuesta que contienen objetos
Indica fecha y hora de la ltima modificacin o
actualizacin del objeto
Su valor es crucial para el cach de objetos
En el Cliente (Navegador), y
En los Servidores Cach (Proxy)

IT-AUT-UAH

59

HTTP
GET condicional (cont.)
Cabecera If-Modified-Since
En mensajes de solicitud del tipo GET condicional
Implica una Solicitud condicionada
Se pide objeto slo si ha sido actualizado con posterioridad a lo
que indique el valor de esta cabecera

Contiene:
Fecha y hora de la ltima modificacin del objeto en cach
Previamente recibida en cabecera Last-modified, de mensaje
Respuesta que port objeto con antelacin

IT-AUT-UAH

60

30

26/04/2011

HTTP
Respuesta a un GET condicional
Si objeto solicitado NO ha sido modificado
Servidor responde con:
Mensaje 304 Not modified, y
Indica que copia de objeto en cach es actual, puede ser
utilizada por el cliente
Cuerpo de mensaje vaco

Si objeto solicitado ha sido modificado


Servidor responde con:
Mensaje 200 OK
Cabecera Last-modified indica fecha y hora de la ltima
actualizacin del objeto
Cuerpo de mensaje contiene objeto solicitado
IT-AUT-UAH

61

HTTP
Ejemplos con GET condicional
Se pide un objeto, identificado por /fruta/kiwi.gif
Mensaje de Solicitud:

GET /fruta/kiwi.gif HTTP/1.0


User-agent: Mozilla/4.0

Mensaje de Respuesta:

HTTP/1.0 200 OK
Date: Wed, 12 Aug 1998 15:39:29
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 09:23:24
Content-Type: image/gif
( ..contenido del objeto)

IT-AUT-UAH

62

31

26/04/2011

HTTP
Ejemplos con GET condicional (cont.)
Pasados un tiempo, se vuelve a pedir el mismo objeto
Mensaje de Solicitud:

GET /fruta/kiwi.gif HTTP/1.0


User-agent: Mozilla/4.0
If-modified-since: Mon, 22 Jun 1998 09:23:24

Mensaje de Respuesta: HTTP/1.0 304 Not Modified


Date: Wed, 19 Aug 1998 15:06:12
Server: Apache/1.3.0 (Unix)

IT-AUT-UAH

63

HTTP
Servidor Proxy para Cach WEB
Implementacin cach WEB en dispositivo de red
Cach Web a mayor escala que en el Navegador

Entidad de red intermediaria, satisface solicitudes


HTTP en nombre de un servidor WEB, actuando:
Como Servidor ante el Navegador, y
Como Cliente ante el Servidor WEB

Dispone de almacenamiento en disco, con copias de


objetos recientemente solicitados
Deja copia en cach de cada objeto solicitado por un
usuario WEB
IT-AUT-UAH

64

32

26/04/2011

HTTP
Servidor Proxy* (cont.)
Acta como mecanismo:
De mejoramiento de las prestaciones ya
antes apuntado,
De replicacin y distribucin de contenidos, y
De utilizacin ms eficiente de los accesos a
Internet y accesos internacionales, sobre
todo para objetos muy demandados
 Mayor rendimiento de las comunicaciones

IT-AUT-UAH

65

HTTP
Clientes HTTP solicitando objetos a travs de un Servidor Proxy

COMPUTER NETWORKING. A Top_Down Approach Featuring the Internet. Third Edition by Kurose, J. F. and Ross, K. W. Pearson Education, Inc. 2003

IT-AUT-UAH

66

33

26/04/2011

HTTP
Servidor Proxy (cont.)
Normalmente todo ISP dispone de un Proxy Cach
Institucional u Operador de Telecomunicacin

Al dar servicio a muchos usuarios  porcentaje de


aciertos de la cach es bastante elevado
Ms usuarios  Mayor probabilidad de acierto de la
cach
Aproximadamente 50 % de aciertos, incluso hasta ms
% de acierto = (N total de aciertos / N total de accesos)

IT-AUT-UAH

67

HTTP
Cuello de botella entre la Internet y una Intranet

COMPUTER NETWORKING. A Top_Down Approach Featuring the Internet. Third Edition by Kurose, J. F. and Ross, K. W. Pearson Education, Inc. 2003

IT-AUT-UAH

68

34

26/04/2011

HTTP
Servidor Proxy en la Intranet

Requiere:
Interceptacin: mecanismo de re
direccionamiento de solicitudes
Web a un Proxy, o
Configuracin del Navegador Web

Servidor Proxy Web interno


ayuda a mejorar el
rendimiento de las
comunicaciones a travs del
enlace de acceso, y reducir
la latencia del servicio

COMPUTER NETWORKING. A Top_Down Approach Featuring the Internet. Third Edition by Kurose, J. F. and Ross, K. W. Pearson Education, Inc. 2003

IT-AUT-UAH

69

HTTP
Servidor Proxy (cont.)
Normalmente los Navegadores pueden ser
configurados para dirigir sus solicitudes a un
Proxy-Cach, o a varios, segn el caso
Se requiere conocer nombre de la(s) mquina(s) que
acta(n) como Proxy, y el puerto a travs del cual
brinda(n) este servicio
Informacin brindada por el Administrador de la red

Por ejemplo, en el Navegador Internet Explorer


de Microsoft, ir a:
Herramientas
Opciones Internet
Conexiones
Opciones de comandos de configuracin automtica
En el recuadro que aparece escribir la informacin dada por
el ISP
IT-AUT-UAH

70

35

26/04/2011

HTTP
Ejemplo de GET condicional con servidor Proxy

Halsall, Computing Networking and the Internet, 5th Edition Pearson Education Limited 2005

IT-AUT-UAH

71

HTTP
Cach WEB jarrquico

Implementado sobre una jerarqua de servidores


Cach Proxy

Grupo de servidores Proxy jerrquicamente organizados

La bsqueda de un objeto se desarrolla as:


1.
2.
3.
4.

IT-AUT-UAH

En cach del Navegador, si no est


En cach de la red interna, si no est
En cach del ISP, si no est
En otros niveles cach, o en el servidor original de la pgina WEB

72

36

26/04/2011

HTTP
Otros mecanismos Cach WEB
Cach WEB pasivo
Servidor Proxy pregunta al servidor WEB slo cuando
recibe peticin en relacin a un objeto

Cach WEB activo


Servidor Proxy pregunta con antelacin al servidor WEB
De manera automatizada
Para mantener actualizado los contenidos en cach

Requiere de los intercambios correspondientes


Posibilita menor tiempo de respuesta al usuario

IT-AUT-UAH

73

HTTP
Cach WEB cooperativo
Mecanismo para mejorar el servicio Cach
WEB entre servidores Proxy
Implica cooperacin entre Servidores Proxy
A travs de la red, Intranet o Internet

Comunicacin entre Servidores Proxy


Mediante HTTP
Para la transferencia de objetos

Mediante protocolo de coordinacin


Para coordinar las cach

IT-AUT-UAH

74

37

26/04/2011

HTTP
Protocolos de coordinacin entre Proxys WEB
Soportan dilogo de control entre Servidores Proxy
Entre ellos resuelven la bsqueda de un objeto
Uno pregunta al otro sobre objeto solicitado

Dos protocolos especificados:


ICP: Internet Caching Protocol (RFCs 2186 y 2187)
Normalmente1 sobre UDP, puerto 3130

HTCP: Hyper Text Caching Protocol (RFC 2756)


Normalmente1 sobre UDP, puerto 4827
Se plantea como sucesor de ICP
----------------------------------------------------------------------1: tambin puede correr sobre TCP, dem puerto

IT-AUT-UAH

75

HTTP
Permanencia de objetos en cach WEB
Depende del tipo de contenido
Contenidos muy dinmicos, que varan con frecuencia
En principio nunca deberan guardarse en cach
Se hacen obsoletos muy rpidamente

Contenidos estticos, o casi estticos, que varan muy poco o casi


nada en el tiempo
Adecuados para cach WEB

Elementos de referencia
Valor de cabecera Last-Modified en mensajes de Respuesta
Valor de cabecera If-Modified-Since en mensajes de Solicitud GET
condicional

IT-AUT-UAH

76

38

26/04/2011

HTTP
Adems del cach WEB
Hay otros mecanismos para mejorar prestaciones
del servicio WEB, p.e:
Rplica de servidores WEB
 Espejos (mirrors) o granjas (farms) de servidores
Rplica de contenidos WEB en mltiples ubicaciones
geogrficas, considerablemente separadas
En principio, las rplicas pueden ser estticas o dinmicas
Estticas  actualizacin manual
Dinmicas  actualizacin automtica
En la prctica, generalmente rplicas estticas

IT-AUT-UAH

77

Bibliografa
COMUNICACIONES Y REDES DE COMPUTADORES.
Williams Stallings. Prentice Hall. 6 edicin. 2000.
REDES DE COMPUTADORES. A. s. Tanenbaum. Pearson
Prentice Hall. 4 edicin. 2003.
REDES DE COMPUTADORES. Un enfoque descendente
basado en Internet. J. f. Kurose y K. W. Ross. Pearson
Addison Wesley. 2 edicin. 2004.
REDES DE COMPUTADORES E INTERNET. Fred Halsall.
Pearson Educacin, S.A. 2006

IT-AUT-UAH

78

39

Das könnte Ihnen auch gefallen