¿Qué es y para qué se usa HTTPS? (Explicación sencilla)

¿Por qué todas las páginas web comienzan con https? Y no importa que solo escribas ed.team, el navegador le agrega automáticamente https al inicio. Pero, ¿por qué? Te lo explicaré en este blog.

Diseño web
8 minutos
Hace un año
¿Qué es y para qué se usa HTTPS? (Explicación sencilla)

¡Accede a cientos de cursos
con solo un pago al año!

Blog Microbanner

En Internet, existe un contrato secreto que debemos cumplir para navegar entre sitios web y aplicaciones. La gente común no lo conoce (porque no lo ve), pero está ahí y todos los programadores estamos obligados a conocerlo, porque sin él, todo internet se vendría abajo. Y ese es el protocolo HTTP y HTTPS.

Los navegadores ocultan el https de las direcciones para no confundir a los usuarios con símbolos raros, por eso cuando vas a EDteam para aprender programación tú solo ves en el navegador ed.team, aunque la dirección completa sea https://ed.team. Y lo puedes comprobar haciendo doble clic.

Pero ¿qué significan HTTP y HTTPS?, ¿para qué sirven y por qué internet dejaría de existir sin ellos? En este blog lo vas a aprender, porque tú sabes que en español, #NadieExplicaMejor que EDteam.

1. Creación de la web y de HTTP

Para entender HTTP, debemos retroceder 34 años en el tiempo hasta 1989, cuando en la ciudad de Ginebra, en Suiza, un científico del CERN (el Consejo Europeo para la Investigación Nuclear) trabajaba en un método para que los investigadores pudieran compartir información de sus trabajos sin importar el tipo de computadora y software que usaran.

Para lograrlo, se le ocurrió que todos los documentos de texto deberían tener una especie de portales mágicos que los conectara con otros documentos y a través de estos portales ir brincando entre todos los documentos del mundo. A estos portales los llamó hipervínculos (o simplemente links)

Para conseguir que los documentos se conecten entre sí a través de links (algo que es la base de internet hoy en día) creó dos tecnologías: el lenguaje HTML y el protocolo HTTP.

blog-HTTPS-EDteam.png

HTML significa HyperText Markup Language y es el que se usa para escribir toda página web. Sin HTML, no existen los links y por ende, no existe la web.

Así que HTML es el primer lenguaje que debes aprender si quieres dedicarte a la programación web. ¿Y qué mejor manera que aprenderlo en un curso completamente en vivo? Pues regístrate en ed.team/cursos/html y nos vemos en la primera clase de nuestro curso HTML desde cero ¡completamente en vivo! ¿Y qué significa “en vivo”? Pues que podrás hacerle todas las preguntas al profesor y recibir una respuesta de forma inmediata. Sin esperar días o semanas. Así que ya tienes una cita para este 7 de noviembre a las 5:00 pm (hora Pe/Col).

[HTML-desde-cero-curso-EDteam.png

Y además de HTML, Tim Berners Lee inventó el protocolo HTTP, que significa HyperText Transfer Protocol, y es el conjunto de reglas que deben seguir los documentos HTML para comunicarse entre ellos usando una conexión de red.

Es decir, HTML es el lenguaje para crear los documentos (las páginas web) y HTTP, es la forma en que estos se enlazan en la red. Uno no puede existir sin el otro.

blog-HTTPS-EDteam.png

Pero este blog es sobre HTTPS, no sobre HTTP. Así que vamos a ver ahora qué es HTTPS.

2. Creación de HTTPS

Lo que Tim Berners Lee no había previsto es que su invento sería la revolución más grande de la tecnología desde la computadora personal. La web pasó de los círculos científicos a todas las personas del planeta y explotó, tanto así que en 1994, unos programadores se hicieron multimillonarios por crear el primer navegador comercial de la historia: Netscape.

Ese mismo año, un corredor de bolsa de New York, llamado Jeff Bezos, renunció a su empleo para crear una empresa en internet de venta de libros: Amazon. Ahora la web no solo conectaba documentos científicos, sino datos confidenciales como tarjetas de crédito, por lo que la seguridad de los datos se volvió una prioridad.

El protocolo HTTP tenía un problema: los datos viajan sin cifrar por internet, por lo que si un hacker intercepta la información tendría acceso a todos los datos. A este tipo de ataque le llamamos: Man in the middle (hombre en el medio).

blog-HTTPS-EDteam.png

Entonces, el equipo de Netscape trabajó en agregar una capa de seguridad a HTTP, de ahí viene la S adicional en HTTPS (que significa seguro, o secure).

blog-HTTPS-EDteam.png

Pero, ¿cómo funciona esta capa extra de seguridad y cómo nos protege de los hackers? Ahora te lo explico.

3. ¿Cómo funciona HTTPS?

¿Recuerdas el ataque Man in the middle? Un hacker intercepta el tráfico de una red y puede leer los mensajes que viajan a través de ella. Por eso no es buena idea hacer compras mientras estás conectado al wifi del aeropuerto o del Starbucks.

Para entenderlo mejor, piensa en una carta. Ahora imagina que alguien quiere leer ese mensaje. Podría robarle la carta al mensajero y leerlo. Ese es un ataque Man in the middle.

blog-HTTPS-EDteam.png

Lo que hace HTTPS es cifrar el mensaje, o sea transformarlo en algo ilegible que solo quien tiene la llave de descifrado podrá leer. Así, cuando el asaltante abre la carta que le robó al mensajero, se encuentra con símbolos, números y letras que no significan nada. Solo el destinatario tiene la llave para descifrar el mensaje.

blog-HTTPS-EDteam.png

El cifrado es una tema muy interesante, así que si quieres un blog donde te expliquemos más a fondo como funciona el cifrado, déjalo en los comentarios.

Y ahora que ya sabes cómo funciona HTTP, vamos a ver cómo lo puedes agregar a tus sitios web.

4. ¿Cómo implementar HTTPS?

En 1994, Netscape creó el protocolo de seguridad SSL (Secure Socket Layer) con el que inició HTTPS. Este protocolo se mejoró en 1999 con uno nuevo llamado TLS o Transport Layer Security que es el que se usa hasta ahora en los sitios web.

blog-HTTPS-EDteam.png

Si eres desarrollador, sí o sí debes agregar HTTPS a tus sitios web, si no el navegador los marcará como inseguros. Lo primero que necesitas es una entidad certificadora que te dará un certificado SSL para tu sitio o tu API. Una opción para comenzar es Let’s Encrypt que es gratuita. Pero también hay empresas que cobran por la certificación.

Estas empresas se encargan de validar la identidad de la persona o empresa que está detrás de un dominio de internet. Es como la RENIEC en Perú, que se encarga de validar la identidad de todos los ciudadanos. Por cierto, ¿cómo se llama en tu país la entidad que entrega los documentos o cédulas de identidad? Déjalo en los comentarios.

Porque eso mismo es una empresa certificadora, pero en el desarrollo web.

Una vez que tienes tu certificado SSL debes instalarlo en tu servidor y configurarlo para que escuche las peticiones por el puerto 443 y no por el puerto 80 (que es el puerto por defecto para HTTP no seguro).

blog-HTTPS-EDteam.png

Por último, no te olvides de renovar puntualmente tu certificado SSL para que tu sitio no tenga problemas.

Ahora ya tienes un sitio seguro. Pero, ¿sabías que un sitio con HTTPS también puede ser inseguro? Vamos a ver como es esto.

5. Asegúrate de que los sitios tengan HTTPS

Los sitios con HTTPS tienen un candado al lado de la dirección. Si pulsas en él verás la información del certificado SSL así como de la entidad certificadora. Así que en principio, si ves un candidato, el sitio es seguro.

Pero, los delincuentes son muy creativos, así que pueden crear un sitio falso y ponerle HTTPS. A este tipo de ataque se le llama phishing y consiste en copiar idéntico un sitio original (casi siempre el de un banco) y luego mandarte mensajes de WhatsApp tipo:

“Detectamos movimientos sospechosos en su cuenta, ingrese aquí para revisarlos”

Acompañados de un link que te lleva al sitio falso, que se ve idéntico al original, y tiene su candadito de HTTPS.

En estos casos, tu banco nunca te va a mandar un link por WhatsApp. Pero también podrías encontrar estafadores navegando en internet. Como aquí, donde busqué mi banco en Bing y me mandó como primer resultado un sitio de phishing.

blog-HTTPS-EDteam.png

blog-HTTPS-EDteam.png

Mira la dirección, dice irtenbark, no interbank, además que es un sitio ruso. Así que si tienes dudas, mira dos o tres veces la dirección web y no te fíes solo del candadito.

Resumiendo: si eres programador, sí o sí, debes implementar HTTPS en tus sitios web si no quieres que el navegador le muestre a tus usuarios una advertencia de sitio inseguro. Y como usuario, si un sitio te parece sospechoso o te llegó un link desconocido, ten cuidado, puede tener candadito y aun así ser una estafa.

Recuerda que si quieres saber más de seguridad informática tenemos varios cursos que puedes empezar gratis en EDteam y que te espero este lunes 30 de octubre para la clase magistral y gratuita de HTML desde cero, edición 2024.

Ahora ya sabes que es HTTPS, y #LoAprendisteEnEDteam.

Si quieres ampliar esta información, ve a nuestro video en Youtube:

Comentarios de los usuarios