0% encontró este documento útil (0 votos)
26 vistas19 páginas

6 HTTP

El documento describe el funcionamiento del World Wide Web y el protocolo HTTP, incluyendo sus componentes tecnológicos como HTML, URL y las versiones de HTTP. Se explican las conexiones HTTP, tanto persistentes como no persistentes, así como los métodos HTTP y los códigos de estado. Además, se abordan temas como el uso de cookies para mantener el estado y la implementación de cachés web para mejorar la eficiencia en la transferencia de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
26 vistas19 páginas

6 HTTP

El documento describe el funcionamiento del World Wide Web y el protocolo HTTP, incluyendo sus componentes tecnológicos como HTML, URL y las versiones de HTTP. Se explican las conexiones HTTP, tanto persistentes como no persistentes, así como los métodos HTTP y los códigos de estado. Además, se abordan temas como el uso de cookies para mantener el estado y la implementación de cachés web para mejorar la eficiencia en la transferencia de datos.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Lic.

Roberto Vargas Blacutt

2022
World Wide Web

● WWW o Web - Sistema Abierto y en Evolución


○ Es una aplicación cliente-servidor basada en el protocolo HTTP
○ Publicación y acceso a recursos y servicios a través de Internet

● Componentes Tecnológicos
○ HTML (HyperText Markup Language) - Especifica contenido y estructura
○ URL (Uniform Resource Locator) - Identifica y localiza un recurso
■ http://Servidor [:puerto] [/RutaDelServidor] [? argumentos]
○ HTTP (Hyper Text Transfer Protocol)
■ Define la forma como los navegadores y otros clientes interactúan con servidores Web

Web y HTTP @Roberto Vargas Blacutt 3


HyperText Transfer Protocol (HTTP)

● Protocolo de transferencia de hipertexto


○ [RFC 1945] y [RFC 2616]
● Es el protocolo de capa de aplicación de la
Web PC running
Chrome browser
● Modelo cliente – servidor
○ Cliente: Navegador usa el protocolo HTTP para
solicitar, recibir y mostrar objetos web
○ Servidor web: Envía objetos en respuesta a server
solicitudes usando el protocolo HTTP running
Apache Web
● Versiones server
○ HTTP/1.0 Versión mas conocida - HTTP/1.1
protocolo mejorado – HTTP/2 iphone running
Safari browser

Web y HTTP @Roberto Vargas Blacutt 4


HTTP

HTTP utiliza TCP HTTP - protocolo sin estado

● Cliente inicia la conexión TCP ● Servidor no mantiene información


○ crea un socket al servidor, puerto 80 de las solicitudes pasadas del
● Servidor acepta la conexión del cliente
cliente ● Trata cada petición como una
● Intercambio de mensajes HTTP transacción independiente que no
○ Mensajes de protocolo de capa de tiene relación con cualquier solicitud
aplicación anterior
○ cliente HTTP (browser) y servidor HTTP
(servidor Web)
● Protocolos que mantienen el estado
● Cierre de conexión
son complejos!

Web y HTTP @Roberto Vargas Blacutt 5


Conexiones HTTP – Dos tipos

No persistentes Persistentes

● Cada par petición/respuesta son ● Todos las peticiones y sus


enviados sobre una conexión TCP correspondientes respuestas son
separada enviados sobre la misma conexión
TCP
● Un solo objeto es enviado sobre una ● Múltiples objetos pueden ser
conexión, luego la conexión es enviados sobre una única conexión
cerrada. TCP
● Modo por defecto de HTTP 1.1

Web y HTTP @Roberto Vargas Blacutt 6


Ejemplo HTTP conexión no persistente

El cliente solicita la pagina web usando el URL http://www.informatica.edu/redes/home.html


que incluye 5 imágenes JPEG
1a. Cliente HTTP inicia conexión al servidor 1b. Servidor HTTP espera una conexión TCP en puerto
80. Se “acepta” conexión notificando al cliente

2. Envía petición HTTP al socket de la conexión.


El mensaje solicita el objeto /redes/home.html 3. Servidor recibe mensaje de petición, arma el
mensaje de respuesta con el objeto solicitado y lo
envía a su socket
5. Cliente recibe el archivo HTML (respuesta), lo 4. Servidor HTTP cierra la connection TCP.
interpreta y despliega. Encuentra 5 objetos
referenciados

6. Pasos del 1 al 5 se repiten por cada uno de los 5 objetos

Web y HTTP @Roberto Vargas Blacutt 7


Estimación de tiempo de respuesta

RTT - Tiempo de Ida y vuelta (Round-trip time)


Tiempo en que un paquete viaja del cliente al servidor y
luego de vuelta al cliente
Inicia conexión
TCP
RTT
RTT No persistente
Archivo
solicitado 1 RTT inicio de la conexión
Tiempo de
RTT trasmisión 1 RTT petición HTTP y 1ros. bytes de
archivo
respuesta
Archivo = 2RTT + Tiempo de trasmisión del
recibido
archivo

time time

Web y HTTP @Roberto Vargas Blacutt 8


Conexiones Persistentes HTTP (HTTP 1.1)

● Inconvenientes de las conexiones no persistentes


○ Requiere 2 RTTs por objeto
○ Sobrecarga del SO para tratar cada conexión TCP
○ Navegadores abren múltiples conexiones TCP para recuperar objetos en paralelo
● HTTP Persistente (HTTP 1.1)
○ Servidor deja la conexión abierta después de enviar la respuesta
○ Mensajes HTTP subsecuentes entre el mismo cliente/servidor son enviados sobre la
conexión abierta
○ Cliente envía solicitudes tan pronto como encuentre un objeto referenciado
■ Un RTT para todos los objetos referenciados (reduciendo el tiempo de respuesta a la mitad)

Web y HTTP @Roberto Vargas Blacutt 9


Formato de los mensajes HTTP

● HTTP tiene dos tipos de mensajes


○ Mensajes de petición
○ Mensajes de respuesta

● Cada mensaje se compone de tres partes


○ Línea de petición/respuesta
○ Una sección de encabezados
○ Una línea en blanco
○ El cuerpo del mensaje

Web y HTTP @Roberto Vargas Blacutt 10


Formato de mensajes HTTP

Mensaje de petición Mensaje de respuesta

Web y HTTP @Roberto Vargas Blacutt 11


Métodos HTTP

● GET ● HEAD
○ Solicita el recurso identificado por un ○ Solicita únicamente cabeceras HTTP al
URL servidor, que podrían ser devueltas si
○ Puede incluir datos del usuario en el el URL especificado fuera solicitado
campo URL de la petición mediante un GET
■ www.umsa.bo/buscar?informatica ● PUT
● POST ○ Sube el archivo a la ruta especificada
en el campo URL
○ Las paginas web con frecuencia
incluyen formularios ● DELETE
○ Los datos ingresados por el usuario ○ Borra el archivo especificado en el
son enviados al servidor en el cuerpo campo URL
del mensaje (body)

Web y HTTP @Roberto Vargas Blacutt 12


Algunos de Códigos de estado

● 200 OK - Petición exitosa

● 301 Moved Permanently - Objeto movido a la ubicación especificada

● 400 Bad Request - Mensaje de petición no entendida por el servidor

● 404 Not Found - Objeto solicitado no encontrado

● 505 HTTP Version Not Supported - Versión no soportada por el servidor

Web y HTTP @Roberto Vargas Blacutt 13


Cookies

● Un servidor HTTP no tiene memoria del estado de la conexión


○ No mantiene información acerca de sus clientes
● Los cookies pueden ser usados para identificar a los usuarios
○ Usados para autorización, carrito de compras, E-commerce
● Como mantener el “estado”? – 4 componentes
○ Cabecera HTTP con cookie en mensaje de respuesta del servido
○ Siguientes mensaje de solicitud del cliente deben incluir cabecera HTTP con cookie
○ Archivo cookie mantenido en el host del usuario es gestionado por el browser
○ Una base de datos en el sitio Web

Web y HTTP @Roberto Vargas Blacutt 15


Cookies – Manteniendo el estado

Como mantener el estado?


Protocolos en los extremos
• Mantienen el estado
emisor/receptor sobre múltiples
transacciones
Cookies
• Mensajes HTTP mantiene el
estado
• Crean una capa de sesión
por encima de HTTP

Cookies y Privacidad
Los cookies pueden
considerarse como una
invasión de la intimidad
del usuario

Web y HTTP @Roberto Vargas Blacutt 16


Cache Web - servidor proxy

Satisface las peticiones HTTP en nombre


de un servidor web de origen
proxy
Mantiene una copia de los objetos server
recientemente solicitados client
origin
server
Browser puede ser configurado para
enviar peticiones al cache

Si el objeto esta en cache, el cache


retorna el objeto
client origin
Si no, cache lo solicita al servidor de server
origen, y luego devuelve el Cache actúa como cliente y servidor
objeto al cliente

Web y HTTP @Roberto Vargas Blacutt 17


Por que Cache Web ?

origin
servers • Típicamente es instalado por un ISP
public (universidad, empresa)
Internet
• Reduce el tiempo de respuesta para la petición
de cliente

1.54 Mbps • Reduce el trafico en los enlaces de acceso


institutional access link
network
• Los Web caches son ampliamente usados en
CDNs (Content Distribution Networks )
1 Gbps LAN
CDNs Compartidos Akamai y Limelight
local web CDNs Dedicados - Google y Microsoft
cache

Web y HTTP @Roberto Vargas Blacutt 18


HTTP/2
Objetivo central es disminuir los retardos en solicitudes HTTP multi-objeto

HTTP/1.1 HTTP/2 [RFC 7540, 2015]


• Múltiples GETs sobre una única • Mejora la flexibilidad del servidor
conexión TCP para el envío de objetos a clientes
• Servidor atiende peticiones en • Incluye métodos y códigos de
modo FIFO estado adicionales
• Problema: objetos pequeños deben • Orden de la transmisión de objetos
esperar su transmisión después de basadas en prioridad establecidas
uno de gran tamaño por el cliente
○ Bloqueo al inicio de la cola - head-of- • Divide objetos en frames, las que se
line (HOL) blocking
planifican para mitigar el bloqueo
HOL

Web y HTTP @Roberto Vargas Blacutt 19


HTTP/2 Reduciendo bloqueo HOL

HTTP/1.1 HTTP/2
Peticiones de cliente - 1 objeto grande (Video) y 3 Objetos divididos en frames y su transmisión intercalada
objetos pequeños
server
server
GET GET GET GET object data
GET object data O4 O3 requested
GET GET O2 O1
O4 GET requested client
client O3 O2 O1

O1 O1

O2 O2
O3 O3
O4 O4
Objetos entregados en orden: O2, O3, O4
esperan detrás de O1 O2, O3, O4 entregados rápidamente, O1
ligeramente demorado

Web y HTTP @Roberto Vargas Blacutt 20


Que debo preparar para la siguiente clase?

Email y DNS

REDES DE COMPUTADORAS Un enfoque descendente 7ma Edición Pags 96 - 115

Web y HTTP @Roberto Vargas Blacutt 21

También podría gustarte