martes, 15 de septiembre de 2020

15/09/20 Protocolo de transferencia de hipertexto (HTTP/S)

HTTP o Hypertext Transfer Protocol (protocolo de transferencia de hipertexto) es la base de cualquier intercambio de datos en la web. Es un protocolo de estructura cliente-servidor, esto quiere decir que una petición de datos es iniciada por el cliente, normalmente el navegador, y respondida por un servidor web. Así, una página completa puede resultar de la unión de distintos sub-documentos recibidos y transportados por éste protocolo, como por ejemplo: un documento que especifique el estilo de la página web, el texto, las imágenes, vídeos, scripts, etc..




HTTP está basado en el modelo de cliente-servidor: las peticiones son enviadas por un cliente y respondidas por un servidor. La mayoría de las veces el cliente es un navegador web, pero podría ser cualquier otro programa, como por ejemplo una aplicación que recupere información de una base de datos.

Si observamos el procedimiento desde lo que sucede en la capa 7 cada petición individual se envía a un servidor, el cuál la gestiona y responde. Entre cada cliente y el servidor al que consulta, puede haber uno o varios intermediarios, normalmente denominados proxies, los cuales realizan distintas funciones, como: 

    • caching
    • filtrado
    • balanceo de carga de peticiones
    • autentificación
    • registro de eventos



Aunque si observamos lo sucedido desde las perspectivas de las capas 3 y 4 veremos que hay más elementos intermedios, entre un navegador y el servidor que gestiona su petición: hay otros tipos de dispositivos: como routers y modems entre varios mas. Es gracias a la arquitectura en capas del modelo OSI que que estos intermediarios, son transparentes al navegador y al servidor, ya que HTTP se apoya en la capa de transporte y su protocolo característico TCP.  




Es así que HTTP (capa 7) traslada hipertexto entre dos extremos basado en el servicio del protocolo TCP (capa 4) pero lo hace en texto claro, es decir que si alguien pudiera interceptar esa comunicación, luego de separar los encabezados de la carga útil tendría acceso a la información transmitida por lo que cuando se trata de transmitir datos sensibles es necesario recurrir a la versión segura de HTTP el protocolo también de capa 7 HTTPS





HTTPS es un servicio que se ubica en el puerto 443, a diferencia HTTP que lo hace en el 80 y agrega seguridad toda vez que no utiliza directamente TCP para conectarse al otro extremo sino que lo hace a través de SSL (secure socket layer), un protocolo que al momento de generar la conexión acuerda con el otro extremo las claves para codificar la información que se enviarán entre ellos. Por eso es preciso que el servidor cuente con un certificado digital validado por una entidad certificadora para asegurar que es realmente el servidor que dice ser.




De esta manera llegamos al final de la entrega nro. 10 habiendo recorrido la descripción y el funcionamiento de los protocolos HTTP y HTTPS. Seguidamente las actividades propuestas requerirán volver sobre los conceptos presentados mientras se   los fija y complementa.


ACTIVIDADES

Las respuestas deberán ser enviadas a la casilla de correo gacabral@gmail.com
antes del 23 septiembre a las 20 hs.

1. Mencione qué versión de sistema operativo tiene instalado el dispositivo que utiliza para las actividades prácticas de Conexión de redes extendidas y luego detalle los pasos que debe realizar para configurar el uso de un proxy para la conexión a internet. La Información podrá obtenerla de la documentación del propio sistema operativo.

2. ¿Cual o cuales considera que son las utilidades mas importantes de un servidor proxy? Justifique su respuesta.

3. Nombre y explique 3 diferencias entre HTTP y HTTPS que surjan del material propuesto.




Por consultas o inquietudes los espero en el blog o en gacabral@gmail.com
y por supuesto en la videoconferencia. Seguimos en contacto :-)




 







4 comentarios:

  1. Según lo que he leído en el blog, lo que entendí es que las siglas HTTP (que significan Protocolo de Transferencia de Hipertexto) es un protocolo con la estructura cliente-servidor, lo que significa que el cliente es el responsable de hacer una petición de datos al navegador y ésta es respondida por el servidor web. Algo a tener en cuenta también es que una página web completa es en realidad la unión de distintos sub-documentos que son recibidos e incluso transportados por el protocolo HTTP, por ejemplo el estilo de una página web, texto, imágenes, videos, scripts, entre otros.

    En la capa 7 cada petición individual enviada hacia el servidor es gestionada por éste y respondida por el mismo. Pueden haber uno o varios intermediarios entre cada cliente y el servidor que son denominados proxies y realizan funciones como: catching, filtrado, balanceo de carga de peticiones, autenticación y registro de eventos.

    En las capas 3 y 4 existen más elementos intermedios que hay entre un navegador y el servidor ya sean: routers o modems. Hay que tener en cuenta también que el protocolo HTTP se apoya en la capa de transporte y su protocolo es TCP.

    El HTTPS es el servicio que se ubica en el puerto 443, a diferencia del HTTP que lo hace en el 80.

    ResponderBorrar
  2. Hola Irina. Muy bien :-)
    Solo agregaría el hecho de que en HTTPS la comunicación es cifrada, es decir que a partir de la capa 4 para abajo, por mas que interceptes la comunicación ya no podrías entender nada. Eso es lo que sucede cuando en la barra de direcciones leemos "https://..."
    Buena intervención. Nos encontramos en la videoconferencia.

    ResponderBorrar
  3. Hola profe! buenos dias :) Podria profundizar en cómo funciona el protocolo SSL? Cómo se encripta la informacion y cómo sabe cómo desencriptarla el otro host?

    ResponderBorrar
  4. Por supuesto :-)
    En la capa 4 SSL establece una conexión con la capa 4 del host destino (como ustedes saben es una comunicación virtual entre capas, (acuérdense del ejemplo de los edificios y la comunicación entre los viajeros de distinto idioma) y primero intercambian una clave con la que van a codificar otra clave con la que van a encriptar la comunicación.
    Es decir que primero y muy rápidamente el origen le pasa al destino una clave con la que va a encriptar otro tipo de clave mas fuerte, mas potente para recién encriptar la información.
    Y ¿por que dos claves? porque la primera es de un tipo de clave fácil de hackear pero que como se usa tan poco tiempo no da tiempo precismante a hackearla y la otra clave es una clave de un tipo que no se puede hackear y por eso es la que se usa todo el tiempo que dure la comunicación.
    Entonces el origen codifica el mensaje con un código o sistema que debe ser el mismo que utilice el destino para desencriptar el mensaje, por ejemplo si el código que usa el origen es "desplazar 3 letras en el abecedario la letra original que se quiera transmitir" entonces si quiere transmitir una H enviará una K y cuando el destino reciba una K sabrá que en realidad es una H porque sabe que el origen corrió 3 lugares en el abecedario la letra que quería transmitir ¿se entiende? De esa manera el origen codifica la clave fuerte y si un atacante la intercepta cuando la obtenga ya habrá cambiado y no llegará nunca a tiempo para desencriptar el mensaje que es lo que en realidad importa.

    Ahondar en el funcionamiento del protocolo va por ese lado aunque el siguiente paso aborda ese "tipo de clave fuerte" al que me referí mas arriba y que probablemente tratemos en paralelo cuando en marco jurídico entremos en "firma digital".

    Muy buena tu intervención Franco ;-)

    ResponderBorrar