Aplicaciones HTTP/HTTPS

1. Introducción.

¿Qué es protocolo HTTP?

Un protocolo es un conjunto de reglas. En nuestra vida cotidiana hay reglas escritas algunas se llaman leyes, otras normas, también hay reglas no escritas, por ejemplo cuando alguien los saluda Uds. responden, si alguien le pasa la mano Uds. tienden la mano, esos son protocolos.

Los navegadores tienen que comunicarse con un Servidor para pedirle la información que le presentarán en la pantalla, para poder comunicarse deben hacerlo de manera ordenada, emitiendo pedidos y obteniendo respuestas.

https://library.automationdirect.com/wp-content/uploads/2015/07/OSI-model.png

Este protocolo se llama HTTP.

¿Qué es HTTP?

El Protocolo de transferencia de hipertexto (en inglés, Hypertext Transfer Protocol, abreviado HTTP) es el protocolo de comunicación que permite las transferencias de información en la World Wide Web. En 1999, culminó la redacción del documento que establece las normas, se llama Request for Coment o RFC.

Hay un sitio para los RFC de internet, entre ellos está el RFC 2616 donde se dice cómo se hacen los pedidos y cómo se obtienen las respuestas.

¿Qué es protocolo HTTPS?

Como la transferencia de información entre el Servidor y una PC va en un formato que si alguien lo interceptara podría ser leído sin problemas, nro. de tarjeta de crédito, etc.. se vió que esto era un problema. Por eso surgió el protocolo HTTPS.

HTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite establecer una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas.

En resumidas cuentas, es la versión segura de el HTTP (Hyper Text Transfer Protocol) y es seguro por que los datos que viajan están encriptados o cifrados... entre los extremos.

Cifrado Simétrico y Asimétrico

El cifrado simétrico utiliza una clave única que debe compartirse entre las personas que necesitan recibir el mensaje.
El cifrado asimétrico utiliza un par de claves públicas y una clave privada para cifrar y descifrar los mensajes cuando se comunican.

Clave Privada y Pública

Una clave se designa como clave privada y se mantiene secreta.
La otra clave se distribuye a quien lo desee; esta clave es la clave pública.
Cualquier usuario puede cifrar un mensaje utilizando su clave pública, pero sólo usted puede leerlo. Cuando recibe el mensaje, lo descifra utilizando la clave privada.

El cifrado se realiza con lo que se conoce como Certificado de Seguridad. El SSL (Secure Sockets Layer) traducido al español significa Capa de Conexiones Seguras. Es un protocolo que hace uso de certificados digitales para establecer comunicaciones seguras a través de Internet.

El protocolo establece una conexión privada entre el navegador y el servidor web mediante un proceso conocido como ‘SSL. Handshake’ (en inglés, apretón de manos).

El protocolo SSL utiliza tres claves para establecer una conexión privada:

  • la clave privada.
  • la pública.
  • la de sesión.

Si los datos se cifran con la clave privada, sólo la clave pública puede descifrarlos. Por otro lado, la clave privada es la única que puede descifrar la información cifrada con la clave pública.

Tanto la clave privada como la pública se utilizan durante el SSL Handshake para crear una clave de sesión segura que cifrará todos los datos transmitidos.

Una vez que el certificado SSL ha cifrado con éxito la conexión, aparece un "candado" en la barra de direcciones del navegador del usuario y la dirección URL indica «HTTPS» (en lugar de «HTTP»). De este modo, la persona que visita la página sabe que puede compartir su información con seguridad.


El cifrado es un proceso por el cual se encripta toda la información que se transfiere a través de una página web, de modo que solo se puede leer si se dispone de la clave correspondiente. Esta codificación cifra las comunicaciones con claves de entre 1024-2048 bits de longitud, algo prácticamente indescifrable para un pirata informático corriente.


Veamos los pasos que ocurren al abrir una pagina https.


  1. El navegador web (es decir, el cliente) se conecta con un sitio web protegido por SSL (es decir, el servidor SSL) y solicita que el sitio web se identifique. Esto se conoce como el ‘hola del cliente’ (client hello).
  2. Para identificarse, el sitio web envía una copia de su certificado SSL y la clave pública del sitio web. Esta respuesta se denomina ‘hola del servidor’ (Server hello).
  3. A continuación, el cliente comprueba el certificado con una lista de autoridades de certificación (CA) y se asegura de que ese certificado no ha caducado o ha sido revocado.
  4. Si el certificado es auténtico, el cliente creará una clave de sesión simétrica utilizando la clave pública del sitio web.
  5. A continuación, el servidor SSL descifra la clave de sesión con la clave privada y envía un acuse de recibo cifrado para iniciar la sesión.
  6. Todos los datos transmitidos entre el sitio web y el navegador se cifran con la clave de sesión.

Como podemos ver todo esto es totalmente transparente para el usuario de un navegador... pero lo único que debe observar es el Candado en la barra del navegador, eso le indica que sus datos no puede ser vistos en el camino.

Los certificados tiene períodos de validez, es por eso por ejemplo, si su equipo no tiene la fecha correcta es posible que tenga dificultades para buscar o acceder a sitios https ya que seguramente los certificados no serán válidos.