🔒 HTTP, HTTPS y FTP
Los protocolos que hacen funcionar la web. Cómo tu navegador habla con un servidor, por qué HTTPS es seguro y cómo un programador sube sus archivos con FTP. Todo lo que significan para quien programa.
📖 Teoría
Un protocolo es un conjunto de reglas que dos computadoras acuerdan para poder entenderse. Es como un idioma: si el cliente (tu navegador) y el servidor (donde vive la página) hablan el mismo protocolo, pueden intercambiar información.
- Cliente: quien pide algo (navegador, app móvil, un programa).
- Servidor: quien responde (Apache, Nginx, un servicio en la nube).
- Casi todos estos protocolos viajan sobre TCP/IP, la base de Internet.
- Cada protocolo usa un puerto (una "puerta" numerada del servidor): HTTP → 80, HTTPS → 443, FTP → 21.
💡 Petición (request) → Respuesta (response): así funciona toda la web.
HTTP (HyperText Transfer Protocol) es el protocolo que usa el navegador para pedir páginas, imágenes, datos y APIs. Cada intercambio tiene dos partes:
- Petición: método + ruta + cabeceras (headers) + cuerpo opcional.
- Respuesta: código de estado + cabeceras + cuerpo (el HTML/JSON).
Métodos HTTP más usados:
HTTP es sin estado (stateless): cada petición es independiente. Por eso existen las cookies y los tokens para "recordar" al usuario.
HTTPS es HTTP + seguridad. La "S" es de Secure. Es el mismo HTTP, pero los datos viajan cifrados gracias a TLS (antes llamado SSL). Sin HTTPS, cualquiera en la misma red podría leer tus contraseñas.
HTTPS ofrece tres garantías:
- Cifrado: nadie en el camino puede leer lo que envías.
- Integridad: los datos no se alteran en el trayecto.
- Autenticación: el certificado prueba que el servidor es quien dice ser.
El "apretón de manos" TLS (handshake), simplificado:
- El cliente saluda ("Client Hello") y dice qué cifrados soporta.
- El servidor responde y envía su certificado (con su clave pública).
- El navegador verifica el certificado con una Autoridad Certificadora (CA).
- Ambos acuerdan una clave de sesión secreta y a partir de ahí todo va cifrado.
💡 Let's Encrypt da certificados gratis. En cPanel se activa el SSL con un clic (AutoSSL). El puerto de HTTPS es el 443.
FTP (File Transfer Protocol) sirve para transferir archivos entre tu computador y un servidor. Es la forma clásica en que un programador sube su sitio web al hosting (con programas como FileZilla).
- Usa dos canales: uno de control (puerto 21, las órdenes) y uno de datos (puerto 20 o uno aleatorio, los archivos).
- Modo activo: el servidor abre la conexión de datos hacia el cliente (problemas con firewalls).
- Modo pasivo: el cliente abre ambas conexiones (el más usado hoy, funciona mejor con NAT/firewalls).
Comandos típicos de una sesión FTP:
⚠️ FTP "puro" envía usuario, contraseña y archivos en texto plano (sin cifrar). No es seguro por sí solo.
Como FTP no cifra, existen dos formas seguras. Se confunden mucho, pero son distintas:
| Aspecto | FTPS | SFTP |
|---|---|---|
| Qué es | FTP + capa TLS/SSL | Transferencia sobre SSH (nada que ver con FTP) |
| Puerto | 990 / 21 | 22 (el mismo de SSH) |
| Canales | Dos (control + datos) | Uno solo |
| Firewalls | Puede dar problemas | Muy amigable |
💡 En la práctica: si tu hosting te da SSH, usa SFTP (puerto 22). Es lo más simple y seguro.
Estos protocolos son el día a día de quien desarrolla webs y apps:
- 🚀 Desplegar (deploy): subes tu proyecto al hosting por FTP/SFTP (FileZilla) o cPanel.
- 🔗 Consumir APIs: pides datos con GET/POST por HTTPS y lees el código de estado (200 ok, 404 no existe, 500 error).
- 🔒 SSL obligatorio: Google penaliza en SEO los sitios sin HTTPS y los navegadores los marcan "No seguro".
- 🧭 Redirecciones: forzar http → https y www → sin www con reglas
.htaccess(códigos 301). - 🐞 Depurar: las herramientas del navegador (F12 → pestaña Network) muestran cada petición, sus headers y su estado.
- 🍪 Sesiones: como HTTP no tiene memoria, usas cookies, tokens JWT o
$_SESSIONen PHP.
💡 En este mismo proyecto (SuAmoblado) el sitio corre bajo HTTPS, se sube por FTP a cPanel y el .htaccess redirige http→https y www→no-www.
🧩 Anatomía de una URL
Escribe una URL y descubre cada una de sus partes. Prueba con la de ejemplo o con la tuya.
🖥️ Simulador de petición HTTP/HTTPS
Arma una petición, elige el protocolo y observa cómo viaja del cliente al servidor y qué responde.
🚦 Explorador de códigos de estado
Toca un código para conocer qué significa. La primera cifra indica la familia.
Info
Éxito
Redirección
Error cliente
Error servidor
Elige uno →
🔌 Puertos que todo programador debe conocer
| Puerto | Protocolo | ¿Para qué sirve? |
|---|
📁 Terminal FTP (simulada)
Escribe comandos FTP y mira cómo responde el servidor. Empieza iniciando sesión. Escribe ayuda para ver los comandos.
📚 Diccionario
🎬 Videos
SSL, TLS, HTTPS y HTTP explicado fácil
¿Qué es HTTPS y por qué importa?
¿Qué es FTP y cómo se usa?
Códigos de estado HTTP
📝 Cuestionario
10 preguntas aleatorias del banco de 50. Calificación de 0 a 100.
Tu calificación: