La Web

Vicente González Ruiz

December 14, 2014

Contents

1 ¿Qu es la Web?
2 La comunicacin Web
3 Las conexiones Web
 3.1 Conexiones no persistentes
 3.2 Conexiones persistentes
4 Los mensajes HTTP
 4.1 Un mensaje de peticin
 4.2 Un mensaje de respuesta
5 Paso de parmetros en las URL’s
6 Identificacin de usuarios
 6.1 Autorizacin “login/password”
 6.2 Cookies
7 Las cachs Web (proxies Web)
8 Modelos de cacheo
 8.1 El modelo basado en expiracin
 8.2 El modelo basado en validacin
9 Arquitecturas Web
 9.1 La configuracin ms sencilla
 9.2 Sistemas proxy de 1 nivel
 9.3 Sistemas proxy multinivel
 9.4 Sistemas proxy distribuidos

1 ¿Qu es la Web?

Tpicamente, un servidor Web establece una comunicacin de forma simultnea con muchos clientes Web. El protocolo que define el intercambio de informacin es el HTTP (HyperText Transfer Protocol). Este se define en los RFC’s 1945 (HTTP/1.0) y 2616 (HTTP/1.1).

PIC

2 La comunicacin Web

3 Las conexiones Web

3.1 Conexiones no persistentes

PIC

RTT (Round-Trip Time) es el tiempo de ida y vuelta de un mensaje de longitud despreciable y tobj es el tiempo de transmisin del objeto Web. En cada conexin TCP, el tiempo de establecimiento de conexin TCP necesita un RTT (RTT1). El segundo RTT (RTT2) se emplea en solicitar el objeto.

3.2 Conexiones persistentes

PIC

El ahorro del establecimiento de una conexin TCP para cada conexin Web reduce el tiempo en el caso de las conexiones secuenciales. El tiempo de respuesta de las conexiones paralelas persistentes es el mismo que el de las conexiones no persistentes, aunque la carga para el servidor suele ser menor cuando son persistentes.

4 Los mensajes HTTP

PIC

PIC

4.1 Un mensaje de peticin

En la Figura


GET / HTTP/1.1  
Host: www.google.es  
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225  
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1  
Accept-Language: en-us, en;q=0.50  
Accept-Encoding: gzip, deflate, compress;q=0.9  
Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66  
Keep-Alive: 300  
Connection: keep-alive  
Cookie: PREF=ID=1e9556644260c793:LD=es:TM=1076751818:LM=1076751818:S=AeIDTj_1D5DarFdL  
 
<Cuerpo de entidad>


Figure 1: Una peticin HTTP.

1 puede verse un mensaje de peticin HTTP capturado usando ethereal cuando nos conectamos a www.google.es mediante mozilla. El significado de algunas de las lneas:

4.2 Un mensaje de respuesta

En la Figura


HTTP/1.1 200 OK
Cache-control: private
Content-Type: text/html
Content-Encoding: gzip
Server: GWS/2.1
Content-length: 1484
Date: Sat, 14 Feb 2004 10:52:44 GMT
<Cuerpo de entidad>

Figure 2: Una respuesta HTTP.

2 puede verse un mensaje de respuesta HTTP. El significado de algunas de las lneas:

5 Paso de parmetros en las URL’s

6 Identificacin de usuarios

6.1 Autorizacin “login/password”

6.2 Cookies

7 Las cachs Web (proxies Web)

Funcionamiento

8 Modelos de cacheo

8.1 El modelo basado en expiracin

Se basa en que cuando el servidor enva el objeto indica el instante de tiempo en que dicho objeto es enviado y cunto tiempo estar “fresco”. Ejemplo:

HTTP/1.1 200 OK  
Date: Mon 06 Oct 2008 12:33:48 GMT  
Cache-Control: max-age=600

o el instante de tiempo en que el objeto dejar de estar “fresco”. Ejemplo:

HTTP/1.1 200 OK  
Expires: Mon 06 Oct 2008 12:43:48 GMT

Ntese que en el modelo basado en expiracin, el cliente no realiza ninguna peticin al servidor si el objeto est “fresco”, es decir, si el reloj del cliente todava no ha llegado a Mon 06 Oct 2008 12:43:48 GMT.

8.2 El modelo basado en validacin

En este caso, el cliente realiza un GET condicional. Su funcionamiento se basa en que todos los objetos que se envan por primera vez a un cliente tienen asociada una lnea que indica cundo fu modificado (o creado) por ltima vez el objeto. Ejemplo:

Primera peticin
GET /fruit/kiwi.gif HTTP/1.0

Primera respuesta
HTTP/1.0 200 OK  
Last-Modified: Mon, 22 Jun 1998 09:23:24

Segunda peticin
GET /fruit/kiwi.gif HTTP/1.0  
If-modified-since: Mon, 22 Jun 1998 09:23:24

Segunda respuesta

Suponiendo que el objeto est “fresco” ...

HTTP/1.0 304 Not Modified

... y evidntemente, el objeto no se transmite (el cuerpo est vaco).

9 Arquitecturas Web

9.1 La configuracin ms sencilla

9.2 Sistemas proxy de 1 nivel

9.3 Sistemas proxy multinivel

PIC

9.4 Sistemas proxy distribuidos

PIC

References

[1]   R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee. Hypertext Transfer Protocol – HTTP/1.1. http://www.ietf.org/rfc/rfc2616.txt, June 1999.

[2]   James F. Kurose and Keith W. Ross. Computer Networking: A Top-Down Approach Featuring the Internet (2nd Edition). Addison Wesley, 2003.