SlideShare uma empresa Scribd logo
1 de 26
Capítulo 2: Capa Aplicación
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 la capa 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

HT
TP
req
ues
HT
t
TP
res
pon
se

PC running
Explorer

t
ues
req
se
on
TP
sp
HT
re
P
TT
H

Server
running
Apache Web
server

Mac running
Navigator

2: Capa Aplicació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 mantiene
informació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 No-persistente HTTP Persistente
Múltiples objetos
A lo más un objeto
pueden ser enviados
es enviado por una
por una única conexión
conexión TCP.
TCP entre el cliente y
HTTP/1.0 usa HTTP
servidor.
no-persistente
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 TCP al servidor HTTP
(proceso) en
www.someSchool.edu en puerto
80

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

tiempo

1b. Servidor HTTP en host
www.someSchool.edu
esperando por conexiones TCP
en puerto 80 “acepta”
conexión, notifica la cliente

3. El servidor HTTP recibe el

mensaje de requerimiento,
forma el mensaje de respuesta
que contiene el objeto
requerido y envía el mensaje
por su socket.
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 servidor deja las
conexiones abiertas despues
de enviar la respuesta
Mensajes HTTP
subsecuentes entre los
mimos cliente/servidor son
enviados por la conexión

Persistencia sin pipelining:
Cliente envía nuevo
requerimiento sólo cuando
el previo ha sido recibido
Un RTT por cada objeto
referenciado
Persistencia con pipelining:
default en HTTP/1.1
cliente envia
requerimientos tan pronto
éste encuentra un objeto
referenciado
Tan pequeño como un RTT
por todas las referencias

2: Capa Aplicación

9
Mensaje HTTP de requerimiento
Dos tipos de mensajes HTTP: requerimiento,
respuesta
Mensaje de requerimiento HTTP:
ASCII (formarlo legible)
Línea de requerimiento
GET /somedir/page.html HTTP/1.1
(comandos GET, POST,
Host: www.someschool.edu
HEAD)
User-agent: Mozilla/4.0
Líneas de encabezado
Connection: close
Accept-language:fr
Carriage return,
line feed
Indica fin de mensaje

(carriage return, line feed extra)

2: Capa Aplicación

10
Mensaje HTTP de requerimiento:
formato general

2: Capa Aplicación

11
Subiendo entrada de formularios
Método Post:
Páginas Webs
usualmente incluyen
formularios de
entrada
La entrada es
subida al servidor
en el cuerpo del
mensaje

Métodos URL:
Usa método GET
Entrada es subida en
campos URL de la línea
de requerimiento:

www.somesite.com/animalsearch?monkeys&banana
2: Capa Aplicación

12
Tipos de Métodos
HTTP/1.0
GET
POST
HEAD
Pide al servidor
dejar el objeto
requerido fuera de
la respuesta.

HTTP/1.1
GET, POST, HEAD
PUT
Sube archivos en cuerpo
del requerimiento en
localización indicada por
el campo URL

DELETE
Borra archivo
especificado en el
campo URL

2: Capa Aplicación

13
Mensajes HTTP de respuesta
Línea de estatus
(código de estatus
del protocolo
Frase de estatus)
Líneas de
encabezado

data, e.g.,
archivo
HTML solicitado

HTTP/1.1 200 OK
Connection close
Date: Thu, 06 Aug 1998 12:00:15 GMT
Server: Apache/1.3.0 (Unix)
Last-Modified: Mon, 22 Jun 1998 …...
Content-Length: 6821
Content-Type: text/html
data data data data data ...

2: Capa Aplicación

14
Códigos HTTP de respuesta
Está en primera línea de la respuesta del servidor->
cliente.
Algunos códigos de muestra:
200 OK
request exitoso, objeto requerido luego en mensaje

301 Moved Permanently
Se movió el objeto requerido, nueva hubicación es
especificada luego en el mensaje (Location:)

400 Bad Request
Requerimiento no entendido por el servidor

404 Not Found
Documento no encontrado en servidor

505 HTTP Version Not Supported
2: Capa Aplicación

15
Probando HTTP (lado cliente)
1. Telnet a tu servidor favorito:
telnet mateo.elo.utfsm.cl 80

abre una conexión TCP al puerto 80
(puerto servidor HTTP por omisión)
en mateo.elo.utfsm.cl.
Cualquier cosa ingresada en enviada
A puerto 80 de mateo

2. Escribir un requerimiento GET HTTP:
GET /~agv/elo322/1s05/prueba.html HTTP/1.1
Host: mateo.elo.utfsm.cl

Tipeando esto (doble carriage
return), enviamos un GET request
mínimo (pero completo) al servido
HTTP

3. Observar el mensaje de respuesta enviado por el
servidor HTTP!
2: Capa Aplicación

16
Estado usuario-servidor: cookies
Muchos sitios Web
importantes usan
cookies
Cuatro componentes:

1) Línea encabezado cookie
en el mensaje respuesta
HTTP
2) Línea de encabezado
cookie en requerimiento
HTTP
3) Archivo cookie es
almacenado en la
máquina del usuario y
administrada por su
navegador.
4) Base de datos en sitio
Web

Ejemplo:

Susan accede Internet
siempre desde el mismo
PC
Ella visita un sitio ecommerce específico
por primera vez.
Cuando el requerimiento
HTTP inicial llega al
sitio, éste crea un ID
único y crea una entrada
en la base de datos para
ese ID.

2: Capa Aplicación

17
Cookies: conservando el “estado” (cont.)
cliente
Cookie file

servidor

Requerimiento http
Respuesta http +

ebay: 8734
Cookie file
amazon: 1678
ebay: 8734

Set-cookie: 1678
requerimiento http

cookie: 1678
respuesta http usual

Servidor crea
ID 1678
para usuario

Acción
específica
de la cookie

Cookie file
amazon: 1678
ebay: 8734

so
acce

ac

ce
s

o

Un semana más:

En
ba trad
se a e
de n
da
tos

requerimiento http

cookie: 1678
respuesta http usual

Acción
específica
de la cookie
2: Capa Aplicación

18
Cookies (cont.)
Qué pueden transportar
las cookies:
autorización
shopping carts
sugerencias
Estado de la sesión del
usuario (Web e-mail)

Al margen

Cookies y privacidad:
Cookies permiten que
el sitio aprenda mucho
sobre uno.
Podríamos proveer
nombre y correo al
sitio.
Motores de búsqueda
usan redirecciones y
cookies para aprender
aún más
Compañías de avisos
obtienen información
de los sitios WEB
2: Capa Aplicación

19
Web caches (también servidores
proxy)
Objetivo: satisfacer el requerimiento del cliente sin
involucrar al servidor destino.

Usuario configura el
browser: Acceso Web vía
cache
browser envía todos los
requerimientos HTTP al
cache
Si objeto está en cache:
cache retorna objeto
Sino cache requiere los
objetos desde el
servidor Web, y retorna
el objeto al cliente

Servidor
WEB

Servidor
HT
t
TP
Proxy
ues
req
eq
HT
ues
Pr
se
T
cliente TP
t
pon
HT
res
es
pon
Pr
T
se
HT
t
ues
req
se
TP
on
p
HT
res
P
TT
H
cliente

Servidor
Web
2: Capa Aplicación

20
Más sobre Web caching
Cache actúan como
clientes y
servidores
Típicamente el
cache está
instalado por ISP
(universidad,
compañía, ISP
residencial)

Por qué Web caching?
Reduce tiempo de
respuesta de las peticiones
del cliente.
Reduce trafico de los
enlaces Internet de la
institución.
Internet densa con caches
permite a proveedores de
contenido “pobres” (no $$)
entregar contenido en
forma efectiva.

2: Capa Aplicación

21
Ejemplo de Cache
Suposiciones
Tamaño promedio de objetos =
100,000 bits
Tasa de requerimientos
promedio desde browsers de
la institución al servidor WEB
= 15/sec
Retardo desde el router
institucional a cualquier
servidor web y su retorno = 2
sec
Consecuencias
utilización de la LAN = 15%
utilización del enlace de acceso =
100%
Retardo total = retardo Internet
+ retardo de acceso + retardo
LAN
= 2 sec + minutos + millisegundos

Servidores
web
Internet
pública

1.5 Mbps
Enlace se acceso
Red
institucional

10 Mbps LAN

Sin Cache
institucional
2: Capa Aplicación

22
Ejemplo de Cache (cont)
Posible solución
Aumentar ancho de
banda del enlace a, por
ejemplo, 10 Mbps
Consecuencias

Utilización de la LAN = 15%
Utilización del enlace de
acceso = 15%
Retardo Total = Retardo
Internet + retardo de acceso
+ retardo LAN
= 2 sec + msecs + msecs
A menudo un upgrade caro.

Servidores
web
Internet
pública

10 Mbps
Enlace se acceso
Red
institucional

10 Mbps LAN

Sin cache
institucional
2: Capa Aplicación

23
Ejemplo de cache (cont)
Servidores
Web

Instalar un web Cache

Supongamos tasa de éxito1
(acierto) de 0.4

Consecuencias

40% de los requerimientos
serán satisfechos en forma casi
inmediata (~10 msec)
60% de los requerimientos
satisfechos por el servidor
WEB
Utilización del enlace de acceso
es reducido al 60%, resultando
en retardo despreciable
(digamos 10 msec)
Retardo total = Retardo
Internet + retardo acceso +
retardo LAN = 0.6*(2.01) sec
+ 0.4*0.01 < 1.3 sec

Internet
pública

1.5 Mbps
Enlace de acceso
Red
institucional

10 Mbps LAN

Cache
institucional

Tasa de éxito: Fracción de los requerimientos satisfechos por la cache.

1

2: Capa Aplicación

24
Get Condicional
Objetivo: no enviar
objetos si el cache tiene
la versión actualizada
Cache: especifica la
fecha de la copia en el
requerimiento HTTP
If-modified-since:
<date>

servidor: responde sin el
objeto si la copia de la
cache es la última. :
HTTP/1.0 304 Not
Modified

servidor

cache
HTTP request msg
If-modified-since:
<date>

HTTP response

object
no
modificado

HTTP/1.0
304 Not Modified

HTTP request msg
If-modified-since:
<date>

HTTP response

object
modificado

HTTP/1.0 200 OK

<data>
2: Capa Aplicación

25
Capítulo 2: Capa Aplicación
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

26

Mais conteúdo relacionado

Mais procurados (20)

Ccna 1 capitulo 2 examen en linea
Ccna 1 capitulo 2 examen en lineaCcna 1 capitulo 2 examen en linea
Ccna 1 capitulo 2 examen en linea
 
Presentacion i c m p
Presentacion i c m pPresentacion i c m p
Presentacion i c m p
 
Ejercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidrEjercicio de subneteo vlsm y cidr
Ejercicio de subneteo vlsm y cidr
 
Subneteo
Subneteo Subneteo
Subneteo
 
Grupo 2 redes atm
Grupo 2   redes atmGrupo 2   redes atm
Grupo 2 redes atm
 
4. listas de control de acceso
4. listas de control de acceso4. listas de control de acceso
4. listas de control de acceso
 
Protocolo tcp
Protocolo tcpProtocolo tcp
Protocolo tcp
 
TELEFONÍA MOVIL
TELEFONÍA MOVILTELEFONÍA MOVIL
TELEFONÍA MOVIL
 
Analizador de protocolos
Analizador  de  protocolosAnalizador  de  protocolos
Analizador de protocolos
 
Enrutamiento estatico
Enrutamiento estaticoEnrutamiento estatico
Enrutamiento estatico
 
Creacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracerCreacion de una red wan en cisco packet tracer
Creacion de una red wan en cisco packet tracer
 
Eigrp
EigrpEigrp
Eigrp
 
Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014Ejercicios packet tracer_completo_2014
Ejercicios packet tracer_completo_2014
 
Stp
StpStp
Stp
 
Subnetting
SubnettingSubnetting
Subnetting
 
tecnologias 1G,2G,3G Y 4G
tecnologias 1G,2G,3G Y 4Gtecnologias 1G,2G,3G Y 4G
tecnologias 1G,2G,3G Y 4G
 
La capa de medios
La capa de mediosLa capa de medios
La capa de medios
 
Sencilla explicación sobre AES
Sencilla explicación sobre AESSencilla explicación sobre AES
Sencilla explicación sobre AES
 
VLSM y CIDR
VLSM y CIDRVLSM y CIDR
VLSM y CIDR
 
ospf isis
ospf   isisospf   isis
ospf isis
 

Semelhante a Protocolo http

Semelhante a Protocolo http (20)

ASR_Tema_3.pdf
ASR_Tema_3.pdfASR_Tema_3.pdf
ASR_Tema_3.pdf
 
Presentación1
Presentación1Presentación1
Presentación1
 
Protocolos de internet
Protocolos de internetProtocolos de internet
Protocolos de internet
 
Capa de Aplicacion
Capa de AplicacionCapa de Aplicacion
Capa de Aplicacion
 
Fundamentos de la web
Fundamentos de la webFundamentos de la web
Fundamentos de la web
 
Clase 03 Protocolos Y Servicios De Red
Clase 03   Protocolos Y Servicios De RedClase 03   Protocolos Y Servicios De Red
Clase 03 Protocolos Y Servicios De Red
 
4.redes partes de internet
4.redes partes de internet4.redes partes de internet
4.redes partes de internet
 
Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]Microsoft Asp. Net [Asp.Net - Parte 2]
Microsoft Asp. Net [Asp.Net - Parte 2]
 
red Http
red Httpred Http
red Http
 
html
htmlhtml
html
 
2.12 http
2.12 http2.12 http
2.12 http
 
Introducció a les Aplicació Web
Introducció a les Aplicació WebIntroducció a les Aplicació Web
Introducció a les Aplicació Web
 
Introduccion al internet-Html-Css
Introduccion al internet-Html-CssIntroduccion al internet-Html-Css
Introduccion al internet-Html-Css
 
capa de aplicacion-sisco-netwokrs.pptx
capa de aplicacion-sisco-netwokrs.pptxcapa de aplicacion-sisco-netwokrs.pptx
capa de aplicacion-sisco-netwokrs.pptx
 
PROTOCOLO HTTP.pptx
PROTOCOLO HTTP.pptxPROTOCOLO HTTP.pptx
PROTOCOLO HTTP.pptx
 
Apps_2.3.ppt
Apps_2.3.pptApps_2.3.ppt
Apps_2.3.ppt
 
Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20Dce2 introduccion asp.net primeras 20
Dce2 introduccion asp.net primeras 20
 
Protocolo http
Protocolo httpProtocolo http
Protocolo http
 
Curso Java Avanzado 2 Servlets
Curso Java Avanzado   2 ServletsCurso Java Avanzado   2 Servlets
Curso Java Avanzado 2 Servlets
 
13. servidor http
13. servidor http13. servidor http
13. servidor http
 

Último

EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxFabianValenciaJabo
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Rosabel UA
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxLudy Ventocilla Napanga
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxRAMON EUSTAQUIO CARO BAYONA
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfDaniel Ángel Corral de la Mata, Ph.D.
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfssuser50d1252
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxMaritza438836
 

Último (20)

EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docxEJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
EJEMPLO MODELO DE PLAN DE REFUERZO ESCOLAR.docx
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 
Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024Actividad transversal 2-bloque 2. Actualización 2024
Actividad transversal 2-bloque 2. Actualización 2024
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docxSIMULACROS Y SIMULACIONES DE SISMO 2024.docx
SIMULACROS Y SIMULACIONES DE SISMO 2024.docx
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docxMODELO DE INFORME DE INDAGACION CIENTIFICA .docx
MODELO DE INFORME DE INDAGACION CIENTIFICA .docx
 
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdfTema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
Tema 8.- Gestion de la imagen a traves de la comunicacion de crisis.pdf
 
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdfFichas de MatemáticA QUINTO DE SECUNDARIA).pdf
Fichas de MatemáticA QUINTO DE SECUNDARIA).pdf
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docxIII SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
III SEGUNDO CICLO PLAN DE TUTORÍA 2024.docx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 

Protocolo http

  • 1. Capítulo 2: Capa Aplicación 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
  • 2. 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
  • 3. HTTP Generalidades HTTP: hypertext transfer protocol Protocolo de la capa 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 HT TP req ues HT t TP res pon se PC running Explorer t ues req se on TP sp HT re P TT H Server running Apache Web server Mac running Navigator 2: Capa Aplicación 3
  • 4. 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 mantiene informació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
  • 5. Conexiones HTTP HTTP No-persistente HTTP Persistente Múltiples objetos A lo más un objeto pueden ser enviados es enviado por una por una única conexión conexión TCP. TCP entre el cliente y HTTP/1.0 usa HTTP servidor. no-persistente HTTP/1.1 usa conexiones persistentes en su modo por defecto 2: Capa Aplicación 5
  • 6. 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 TCP al servidor HTTP (proceso) en www.someSchool.edu en puerto 80 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 tiempo 1b. Servidor HTTP en host www.someSchool.edu esperando por conexiones TCP en puerto 80 “acepta” conexión, notifica la cliente 3. El servidor HTTP recibe el mensaje de requerimiento, forma el mensaje de respuesta que contiene el objeto requerido y envía el mensaje por su socket. 2: Capa Aplicación 6
  • 7. 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
  • 8. 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
  • 9. 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 servidor deja las conexiones abiertas despues de enviar la respuesta Mensajes HTTP subsecuentes entre los mimos cliente/servidor son enviados por la conexión Persistencia sin pipelining: Cliente envía nuevo requerimiento sólo cuando el previo ha sido recibido Un RTT por cada objeto referenciado Persistencia con pipelining: default en HTTP/1.1 cliente envia requerimientos tan pronto éste encuentra un objeto referenciado Tan pequeño como un RTT por todas las referencias 2: Capa Aplicación 9
  • 10. Mensaje HTTP de requerimiento Dos tipos de mensajes HTTP: requerimiento, respuesta Mensaje de requerimiento HTTP: ASCII (formarlo legible) Línea de requerimiento GET /somedir/page.html HTTP/1.1 (comandos GET, POST, Host: www.someschool.edu HEAD) User-agent: Mozilla/4.0 Líneas de encabezado Connection: close Accept-language:fr Carriage return, line feed Indica fin de mensaje (carriage return, line feed extra) 2: Capa Aplicación 10
  • 11. Mensaje HTTP de requerimiento: formato general 2: Capa Aplicación 11
  • 12. Subiendo entrada de formularios Método Post: Páginas Webs usualmente incluyen formularios de entrada La entrada es subida al servidor en el cuerpo del mensaje Métodos URL: Usa método GET Entrada es subida en campos URL de la línea de requerimiento: www.somesite.com/animalsearch?monkeys&banana 2: Capa Aplicación 12
  • 13. Tipos de Métodos HTTP/1.0 GET POST HEAD Pide al servidor dejar el objeto requerido fuera de la respuesta. HTTP/1.1 GET, POST, HEAD PUT Sube archivos en cuerpo del requerimiento en localización indicada por el campo URL DELETE Borra archivo especificado en el campo URL 2: Capa Aplicación 13
  • 14. Mensajes HTTP de respuesta Línea de estatus (código de estatus del protocolo Frase de estatus) Líneas de encabezado data, e.g., archivo HTML solicitado HTTP/1.1 200 OK Connection close Date: Thu, 06 Aug 1998 12:00:15 GMT Server: Apache/1.3.0 (Unix) Last-Modified: Mon, 22 Jun 1998 …... Content-Length: 6821 Content-Type: text/html data data data data data ... 2: Capa Aplicación 14
  • 15. Códigos HTTP de respuesta Está en primera línea de la respuesta del servidor-> cliente. Algunos códigos de muestra: 200 OK request exitoso, objeto requerido luego en mensaje 301 Moved Permanently Se movió el objeto requerido, nueva hubicación es especificada luego en el mensaje (Location:) 400 Bad Request Requerimiento no entendido por el servidor 404 Not Found Documento no encontrado en servidor 505 HTTP Version Not Supported 2: Capa Aplicación 15
  • 16. Probando HTTP (lado cliente) 1. Telnet a tu servidor favorito: telnet mateo.elo.utfsm.cl 80 abre una conexión TCP al puerto 80 (puerto servidor HTTP por omisión) en mateo.elo.utfsm.cl. Cualquier cosa ingresada en enviada A puerto 80 de mateo 2. Escribir un requerimiento GET HTTP: GET /~agv/elo322/1s05/prueba.html HTTP/1.1 Host: mateo.elo.utfsm.cl Tipeando esto (doble carriage return), enviamos un GET request mínimo (pero completo) al servido HTTP 3. Observar el mensaje de respuesta enviado por el servidor HTTP! 2: Capa Aplicación 16
  • 17. Estado usuario-servidor: cookies Muchos sitios Web importantes usan cookies Cuatro componentes: 1) Línea encabezado cookie en el mensaje respuesta HTTP 2) Línea de encabezado cookie en requerimiento HTTP 3) Archivo cookie es almacenado en la máquina del usuario y administrada por su navegador. 4) Base de datos en sitio Web Ejemplo: Susan accede Internet siempre desde el mismo PC Ella visita un sitio ecommerce específico por primera vez. Cuando el requerimiento HTTP inicial llega al sitio, éste crea un ID único y crea una entrada en la base de datos para ese ID. 2: Capa Aplicación 17
  • 18. Cookies: conservando el “estado” (cont.) cliente Cookie file servidor Requerimiento http Respuesta http + ebay: 8734 Cookie file amazon: 1678 ebay: 8734 Set-cookie: 1678 requerimiento http cookie: 1678 respuesta http usual Servidor crea ID 1678 para usuario Acción específica de la cookie Cookie file amazon: 1678 ebay: 8734 so acce ac ce s o Un semana más: En ba trad se a e de n da tos requerimiento http cookie: 1678 respuesta http usual Acción específica de la cookie 2: Capa Aplicación 18
  • 19. Cookies (cont.) Qué pueden transportar las cookies: autorización shopping carts sugerencias Estado de la sesión del usuario (Web e-mail) Al margen Cookies y privacidad: Cookies permiten que el sitio aprenda mucho sobre uno. Podríamos proveer nombre y correo al sitio. Motores de búsqueda usan redirecciones y cookies para aprender aún más Compañías de avisos obtienen información de los sitios WEB 2: Capa Aplicación 19
  • 20. Web caches (también servidores proxy) Objetivo: satisfacer el requerimiento del cliente sin involucrar al servidor destino. Usuario configura el browser: Acceso Web vía cache browser envía todos los requerimientos HTTP al cache Si objeto está en cache: cache retorna objeto Sino cache requiere los objetos desde el servidor Web, y retorna el objeto al cliente Servidor WEB Servidor HT t TP Proxy ues req eq HT ues Pr se T cliente TP t pon HT res es pon Pr T se HT t ues req se TP on p HT res P TT H cliente Servidor Web 2: Capa Aplicación 20
  • 21. Más sobre Web caching Cache actúan como clientes y servidores Típicamente el cache está instalado por ISP (universidad, compañía, ISP residencial) Por qué Web caching? Reduce tiempo de respuesta de las peticiones del cliente. Reduce trafico de los enlaces Internet de la institución. Internet densa con caches permite a proveedores de contenido “pobres” (no $$) entregar contenido en forma efectiva. 2: Capa Aplicación 21
  • 22. Ejemplo de Cache Suposiciones Tamaño promedio de objetos = 100,000 bits Tasa de requerimientos promedio desde browsers de la institución al servidor WEB = 15/sec Retardo desde el router institucional a cualquier servidor web y su retorno = 2 sec Consecuencias utilización de la LAN = 15% utilización del enlace de acceso = 100% Retardo total = retardo Internet + retardo de acceso + retardo LAN = 2 sec + minutos + millisegundos Servidores web Internet pública 1.5 Mbps Enlace se acceso Red institucional 10 Mbps LAN Sin Cache institucional 2: Capa Aplicación 22
  • 23. Ejemplo de Cache (cont) Posible solución Aumentar ancho de banda del enlace a, por ejemplo, 10 Mbps Consecuencias Utilización de la LAN = 15% Utilización del enlace de acceso = 15% Retardo Total = Retardo Internet + retardo de acceso + retardo LAN = 2 sec + msecs + msecs A menudo un upgrade caro. Servidores web Internet pública 10 Mbps Enlace se acceso Red institucional 10 Mbps LAN Sin cache institucional 2: Capa Aplicación 23
  • 24. Ejemplo de cache (cont) Servidores Web Instalar un web Cache Supongamos tasa de éxito1 (acierto) de 0.4 Consecuencias 40% de los requerimientos serán satisfechos en forma casi inmediata (~10 msec) 60% de los requerimientos satisfechos por el servidor WEB Utilización del enlace de acceso es reducido al 60%, resultando en retardo despreciable (digamos 10 msec) Retardo total = Retardo Internet + retardo acceso + retardo LAN = 0.6*(2.01) sec + 0.4*0.01 < 1.3 sec Internet pública 1.5 Mbps Enlace de acceso Red institucional 10 Mbps LAN Cache institucional Tasa de éxito: Fracción de los requerimientos satisfechos por la cache. 1 2: Capa Aplicación 24
  • 25. Get Condicional Objetivo: no enviar objetos si el cache tiene la versión actualizada Cache: especifica la fecha de la copia en el requerimiento HTTP If-modified-since: <date> servidor: responde sin el objeto si la copia de la cache es la última. : HTTP/1.0 304 Not Modified servidor cache HTTP request msg If-modified-since: <date> HTTP response object no modificado HTTP/1.0 304 Not Modified HTTP request msg If-modified-since: <date> HTTP response object modificado HTTP/1.0 200 OK <data> 2: Capa Aplicación 25
  • 26. Capítulo 2: Capa Aplicación 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 26