viernes, 27 de abril de 2018

HTTP y HTTPS: ¿Qué son y en qué se diferencian estos protocolos?


Según la página web que visitemos, esta puede utilizar el protocolo HTTP o bien el protocolo HTTPS. Aunque a grandes rasgos ambos protocolos son iguales (son protocolos de transferencia de información), hay una diferencia muy grande entre ambos, y es que mientras que los datos que se solicitan a través de HTTP viajan desde el servidor al cliente en texto plano, sin cifrar ni asegurar, los datos que se transmiten a través de HTTPS viajan cifrados.

Hypertext Transfer Protocol, más conocido como HTTP, es un protocolo de transferencia de datos entre servidor y cliente a través de Internet utilizado para poder navegar por la red y visitar páginas web. Las primeras versiones del protocolo HTTP datan de 1965, mientras que el protocolo HTTPS es mucho más nuevo, y no aparecieron las primeras conexiones a través de él hasta 1994, trayendo a este protocolo la “S” de “Secure” al brindarle esta capa de seguridad adicional.

Mientras que el protocolo HTTP utiliza el puerto 80 para las conexiones, el protocolo HTTPS utiliza el puerto 443 para establecer las comunicaciones, aunque los usuarios no notemos diferencia al conectarnos a través de ninguno de estos protocolos.

HTTP vs HTTPS

 

¿Qué ventajas nos aportan las conexiones HTTPS?


Inicialmente, las conexiones HTTPS utilizaban el protocolo de seguridad SSL (Secure Socket Layer) para proteger las conexiones de los usuarios al utilizar plataformas muy concretas, como PayPal o webs bancarias. Hoy en día, este protocolo ha cambiado SSL por TLS, (Transport Layer Security), protocolo que nos brinda mayor seguridad y mayor privacidad en nuestras conexiones.

Esta seguridad es, sin duda, la principal ventaja de las conexiones seguras HTTPS. Mientras que cualquier usuario puede interceptar el contenido de los paquetes HTTP, e incluso modificarlo en ataque MITM, las conexiones HTTPS no pueden ser espiadas, por lo que nadie sabrá qué tipo de información estamos intercambiando con el servidor. Además, estas conexiones no pueden ser modificadas en ataques MITM, por lo que tendremos la certeza de que los datos que intercambiamos con el servidor son legítimos, rechazando cualquier dato que no coincida con la firma del certificado de la web.

Cómo diferenciar una página web HTTP de una página web HTTPS


Hasta hace pocos años, el uso de conexiones HTTPS era muy reducido debido a que era muy caro implementar esta capa de seguridad y, además, hacía que las conexiones fueran mucho más lentas, algo inviable para muchas plataformas. Sin embargo, añadir HTTPS a una web hoy en día es algo totalmente gratuito que podemos hacer en unos minutos, además de que no repercute en el rendimiento ni la velocidad de las conexiones (es más, incluso estas conexiones son más rápidas que las HTTP con los últimos protocolos como el HTTP/2).

La principal diferencia entre una web con HTTP y otra con HTTPS la podemos ver en la barra de direcciones de nuestro navegador. Las webs seguras deberían aparecer con un icono de un candado cerrado que nos indica que nuestra conexión es segura, así como con las siglas “https://” que nos indica que la web utiliza este protocolo.

Si intentamos conectarnos a una web que utiliza HTTP, no veremos este candado que indica seguridad (o lo veremos abierto), además de que veremos, del mismo color del texto, “http://” junto a la URL.

Por último, las últimas versiones de los navegadores están empezando a considerar como “webs no seguras” las páginas que utilizan aún el protocolo HTTP, por lo que si intentamos acceder a una de ellas es muy probable que veamos que dicha página no es segura.