Web y HTTP
Telemática
Servicios
• Servicio de Resolución de Nombre.
• Servicio Web.
• Servicio de Correo Electrónico.
• Servicio de Directorio.
Telemática
Capa de Aplicación
• Protocolos:
• DNS
• HTTP
Telemática
Internet vs WWW
• Para muchas personas, Internet y WWW representan lo mismo. Recuerde que NO.
• Web es un servicio que hace parte de Internet.
Telemática
Hypertext Transfer Protocol
HTTP
Telemática
HTTP
• Es el protocolo de la capa de aplicación que soporta el
servicio Web.
• Como su nombre lo indica fue concebido para la
transferencia de documentos de hypertext.
• Son documentos que contienen enlaces (link) a otros
documentos.
• Durante su evolución el protocolo ha permitido que el
protocolo permita la transferencia diferentes tipos de
archivos.
• HTTP emplea TCP como protocolo de capa de transporte.
• Es decir, utiliza un servicio orientado a la conexión y confiable.
• HTTP describe el método de comunicación entre el cliente
y el servidor web. Es un protocolo cliente – servidor.
• Es un protocolo basado en un principio: request – response.
• El browser hace una petición y el servidor web responde con
lo que solicita el cliente.
Telemática
Historia y Evolución de HTTP
• HTTP 0.9
• HTTP 1.0. RFC 1945 • Manejo del caché: HTTP indica tanto a
servidores como clientes sobre que
• HTTP 1.1: Es la versión mas utilizada en contenido puede ser almacenado en cache y
Internet. Especificada en el RFC 2616. por cuanto tiempo.
• HTTP 2. 0 RFC 7540. • Autenticación: Las páginas web pueden ser
protegidas.
• Características de HTTP: • Proxies.
• Es simple. • Sesiones.
• Es extensible.
• HTTP no mantiene el estado.
Telemática
Historia y Evolución de HTTP
• HTTP 0.9
• HTTP 1.0. RFC 1945
• HTTP 1.1: Es la versión mas utilizada en Internet.
Especificada en el RFC 2616.
• HTTP 2. 0 RFC 7540.
• Página web:
• Consiste de objetos. Un objeto es simplemente un
archivo. [Link]., una página html, una imagen, video clip,
etc.
• Las páginas web se componen de un objeto base html
y varios objetos referenciados. La mayoria de las
páginas web se componen de un objeto base (html) y
varios objetos referenciados
• Los servidores web alojan recursos web.
• Un recurso web puede ser simplemente un
• Archivo estático almacenado en el file system del
servidor web. Puede ser una imagen, un archivo
pdf, un archivo word, un video, etc.
• Contenido dinámico, es decir, generado bajo
demanda: [Link], aplicaciones software, etc.
Telemática
Funcionamiento HTTP
Telemática
HTTP
Request
HTTP Proxy Server
Request HTTP
Response
HTTP Response
[Link]
Web Server [Link]
File System
Telemática
Uniform Resource Locator.
• El objetivo de una solicitud http es obtener algo denominado “recurso”.
• Cada recurso es identiticado por algo que se denomina Uniform Resource Locator (URL).
• La URL describe la localización especifica de cada recurso web en el servidor.
• Sintaxis de una URL:
• Protocol://server:port/path/filename?querystring#fragment
• Ejemplos URL:
• [Link]
• [Link]
Telemática
Transacciones HTTP
• Son dos tipos de transacciones http que se dan entre el cliente y el servidor:
• Request: Cliente al servidor
• Response: Servidor al cliente.
• En este punto es importante mencionar que una aplicación requiere de múltiples transacciones
http para cumplir su tarea.
• De esta forma se generaran múltiples transacciones http para visualizar una página web completa.
• Así se genera un primer httpRequest para obtener el objeto base y posteriormente se generan
httpRepuest adicionales para cada recurso embebido y referenciado en el objeto base.
Telemática
Fases de una sesión HTTP
• Una sesión básica de HTTP tiene 4 fases :
1. El cliente abre la conexion (Conexion TCP)
2. El cliente hace una peticion (request)
3. El servidor envia una respuesta (response)
4. El servidor cierra la conexion.
Telemática
Formato de los Mensajes httpRequest y httpResponse
• Una linea de petición inicial. Se indica que se quiere
hacer o que sucedio.
• Ninguna o algunas lineas de encabezado. Cada
encabezado consiste de un nombre y valor que están
separados por dos puntos (:).
• Una línea en blanco.
• Un cuerpo de mensaje opcional; por ejemplo un
archivo, algún query, etc.
Telemática
Formato de un httpRequest
Telemática
Formato de un httpResponse
Telemática
Métodos HTTP
• HTTP define un conjunto de métodos para el mensaje httpRequest:
• GET
• HEAD
• POST
• PUT
• PATCH
• DELETE
• TRACE.
• PATCH.
• OPTIONS
Telemática
Método GET
• Es el método usado con mayor frecuencia.
• Es una petición para obtener un recurso de la Web.
• Es utilizado cuando el navegador demanda un objeto que se identifica por el contenido del campo
URL.
• Podría resumirse en que solicita la lectura de una pagina Web
• La información se devuelve en el campo cuerpo de entidad (en la respuesta…)
Telemática
Método HEAD
• Es idéntica al GET.
• Retorna información del encabezado para el documento solicitado.
• La diferencia radica en que en la respuesta del servidor no debe incluir un cuerpo de entidad.
• Útil para solicitar información sobre un recurso sin necesidad de recuperarlo.
• Es solicitar información del encabezado sin obtener la página realmente.
• Método muy útil para chequear características de un recurso sin descargarlo, con ésto se
economiza uso de ancho de banda.
• Útil para probar hipervinculos, accesibilidad y modificaciones reciente.
Telemática
Método POST
• Método que permite que el cliente pueda enviar datos al Servidor.
• Es una petición que le indica al servidor web que acepte la entidad que se envia
como subordinada del URL identificado.
• La relación de subordinación entre entidad – URL se plantea de la misma forma
en la que un fichero esta subordinado a un directorio.
• POST es muy utilizado en relleno de formas:
• Los datos diligenciados en la forma son “traducidos” por el browser a un formato especial y
éstos son enviados hacia una aplicación en el servidor web utilizando el método POST.
• El URL solicitado es el URL de un programa que manipule los datos que son enviados. No es un
archivo.
• La respuesta del HTTP es normalmente la salida de un programa, no un archivo estático.
• Los datos son enviados con el request en el cuerpo del mensaje.
Telemática
Encabezados HTTP
• Los encabezados le permiten tanto al cliente como al servidor pasar información adicional con los
mensajes httpRequest y httpResponse.
• En HTTP 1.1 se definen 46 encabezados.
• Como se menciono anteriormente, su sintaxis es:
• Encabezado: Valor
• Los encabezados pueden ser agrupados:
• Encabezados generales: Estos aplican tanto a la petición como a la respuesta.
• Encabezados de petición. Contiene información especifica sobre la petición que hace el cliente.
• Encabezados para la respuesta. Contiene información sobre la respuesta.
• Encabezados de la entidad. Contiene información sobre el cuerpo del recurso.
Telemática
Gestión de las Conexiones HTTP
Telemática
Conexiones No Persistente
1. El cliente HTTP inicia la conexión con el servidor [Link] sobre el puerto 80.
2. El cliente HTTP envía al servidor un mensaje de petición (request). Éste mensaje incluye el
nombre de la ruta /departamento/[Link]
3. El servidor recibe el mensaje de petición, recupera el objeto /departamento/[Link] del
filesystem, encapsula el objeto en el mensaje de respuesta(response) y lo envia.
4. El servidor HTTP dice a TCP que cierre la conexión.
5. El cliente HTTP recibe el mensaje de respuesta. Finaliza la conexión TCP. El mensaje indica que
es un archivo HTML. El cliente extrae el archivo y encuentra las referencias de 10 objetos (10
imágenes).
6. Se repiten los 4 primeros pasos.
Telemática
Conexiones Persistentes
1. El cliente HTTP inicia la connexion al Puerto 80 del servidor.
2. El cliente envía el mensaje httpRequest.
3. El server recibe el mensaje, lo procesa y envía la respuesta.
4. El cliente recibe la respuesta y la parsea.
5. El cliente repite los pasos del 2-4 para cada objeto embebido en el objeto base.
6. Se cierra la connexion TCP.
Hay dos tipos de conexiones persistentes: Sin y con pipeline.
Telemática
¿Qué es un Web Cluster?
• Es definido como un grupo de servidores que trabajan de manera
conjunta como un servicio coherente para la provisión de servicios
escalables y disponibles en Internet.
• Este web cluster soporta su funcionamiento sobre tecnologías para
distribuir tráfico a los back servers.
25
Load Balance: DNS Round Robin
26
Load Balance: DNS Round Robin
27
Load Balance (two way): Packet Rewriting
28
Politicas para Balanceo de Carga
• Ramdon Server Selection
• Round Robin
• Weighted Distribution:
• Static
• Dynamic
• Least Connections
• Fewest Packets
• Least Busy Server
29
Caching
• El desempeño de las aplicaciones web y
sitios web puede ser mejorado por la
posiblidad de re-utilizar los recursos
previos que se han solicitado.
• Esta técnica permite reducir la latencia así
como el tráfico de la red y por lo tanto el
tiempo necesario para visualizar la
representación de un recurso.
• Caching es una técnica que permite
almacenar una copia de un recurso dado y
devolverlo al cliente cuando este lo
solicita.
• Básicamente, es un mecanismo que
permite almacenar datos como
respuestas a futuras peticiones. Todo esto
con el fin de evitar una nueva búsqueda y
re-envio de nuevo al cliente.
Telemática
Capas del Caché
• Browser.
• Proxy.
• Application Cache
Telemática
Shared Cache Proxy
Telemática
Cache-control
• Es el encabezado mas importante para los aspectos relacionados con caching.
• Directivas mas importantes:
• Public: Inidca que la respuesta es segura para almacenar por cualquier cache y se puede compartir entre
las diferentes peticiones.
• Private: Indica que la respuesta es únicamente segura para que sea almacenada por el cliente.
Telemática
HTTP Cookies
• Mecanismo alternativo que utilizan los sitios para hacer un seguimiento de los usuarios
• Las cookies son esencialmente pequeños archivos o cadenas , no programas ejecutables.
• Una cookie puede almacenar información sobre el cliente y asi almacenar información que un
momento determinado ayude a reconocer al cliente y obtener información acerca de éste.
• Básicamente es una pequeña pieza de datos que el servidor envía al browser.
• El browser puede almacenarla y enviarla de vuelta al server.
• Un uso típico es para decirle al server si dos peticiones vienen del mismo browser ([Link]. mantener al
usuario logeado.)
• Tres usos principales de las cookies:
• Gestión de la sesón de usuario.
• Personalización: Preferencias de usuario, configuraciones, etc.
• Seguimiento: Análisis del comportamiento de usuario.
Telemática
HTTP Cookies
Telemática