ApplicationLayer 2
2.1 Principios de la
aplicaciones de red
2.2 Web y HTTP
2.3 FTP
2.4 Correo
Electrónico
SMTP, POP3, IMAP
2.5 DNS
2.6 P2P Compartición
de archivos
2.7 Programación de
Socket con TCP
2.8 Programación de
socket con UDP
2.9 Construcción de un
servidor WEB
2: Capa Aplicación
1
Web y HTTP
Primero algo de jerga
Una página Web consiste de objetos
Objetos pueden ser archivos HTML, imágenes
JPEG, Java applet, archivos de audio,…
Páginas Web consisten de un archivo HTML
base el cual incluye varias referencias a
objetos
Cada objeto es direccionable por un URL
Ejemplo URL:
www.elo.utfsm.cl/images/logoelo.png
Nombre de la máquina Nombre de ruta
2: Capa Aplicación
2
HTTP Generalidades
HTTP: hypertext transfer
protocol
Protocolo de lacapa
aplicación de la Web
Modelo cliente/servidor
cliente: browser que
requiere, recibe,
“despliega” objetos Web
servidor: Servidor Web
envía objetos en
respuesta a
requerimientos
HTTP 1.0: RFC 1945
HTTP 1.1: RFC 2068
PC running
Explorer
HT
TP
req
ue
HT
st
TP
res
po
nse
t
es
u
eq
r
se
n
P
o
T
p
HT
es
r
TP
T
H
Server
running
Apache Web
server
Mac running
Navigator
2: CapaAplicación
3
HTTP generalidades (cont.)
Usa TCP:
cliente inicia conexión TCP
(crea socket) al servidor,
puerto 80
Servidor acepta conexión
TCP desde el cliente
Mensajes HTTP (mensajes
del protocolo de capa
aplicación) son
intercambiados entre
browser (cliente HTTP) y
servidor Web (servidor
HTTP)
Se cierra la conexión TCP
HTTP no conserva el
estado “es sin estado”
El servidor no mantieneinformación sobre los
requerimientos del clientes
Al
margen
Protocolos que mantiene
“estado” son complejos!
Historia pasada (estado)
debe ser mantenida
Si servidor o cliente se
cae, las vistas del estado
pueden ser
inconsistentes, deben
ser sincronizadas
2: Capa Aplicación
4
Conexiones HTTP
HTTP Nopersistente
A lo más un
objeto es enviado
por una conexión
TCP.
HTTP/1.0 usa
HTTPnopersistente
HTTP Persistente
Múltiples objetos
pueden ser enviados
por una única
conexión TCP entre
el cliente y servidor.
HTTP/1.1 usa
conexiones
persistentes en su
modo por defecto
2: Capa Aplicación
5
HTTP no-persistente
(contiene texto,
Supongamos que el usuario ingresa URL
referencias a 10
www.someSchool.edu/someDepartment/home.index imágenes jpeg )
1a. Cliente HTTP inicia una
conexión TCPal servidor
HTTP (proceso) en
www.someSchool.edu en puerto
80
1b. Servidor HTTP en host
www.someSchool.edu
esperando por conexiones
TCP en puerto 80 “acepta”
conexión, notifica la cliente
2. Cliente HTTP envía mensaje
de requerimiento
(conteniendo el URL) por el
socket de la conexión TCP.
EL mensaje indica que el
cliente quiere el objeto
someDepartment/home.index
3. El servidor HTTP recibe elmensaje de requerimiento,
forma el mensaje de
respuesta que contiene el
objeto requerido y envía el
mensaje por su socket.
tiempo
2: Capa Aplicación
6
HTTP no-persistente (cont.)
4. Servidor HTTP cierra la
5. Cliente HTTP recibe el
conexión.
mensaje respuesta que
contiene el archivo html y
despliega el html.
Analizando el archivo html
file, encuentra 10 referencias
a objetos jpeg
tiempo 6.Pasos 1-5 son repetidos
para cada uno de los 10
objetos jpeg.
2: Capa Aplicación
7
Modelo para tiempo de
Respuesta
Definición de RTT: tiempo
ocupado en enviar un
paquete pequeño
desde el cliente al
servidor y su regreso..
Tiempo de respuesta:
Un RTT para iniciar la
conexión
Un RTT por
requerimiento HTTP y
primeros bytes de la
respuesta
Tiempo de transmisión
del archivo
total =2RTT+tiempo de
transmisión
initiate TCP
connection
RTT
request
file
RTT
file
received
time
time to
transmit
file
time
2: Capa Aplicación
8
HTTP Persistente
Problemas de HTTP nopersistente:
requiere 2 RTTs por objeto
OS debe trabajar y dedicar
recursos para cada
conexión TCP
Pero el navegador abre
conexiones paralelas
generalmente para traer
objetos referenciados.
HTTP Persistente
El...
Regístrate para leer el documento completo.