🔒 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.

Cliente-Servidor TLS / Cifrado Puertos Simuladores Quiz 10/50

📖 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:

GET — pedir/leer datos
POST — crear/enviar datos
PUT — reemplazar un recurso
PATCH — modificar parte
DELETE — borrar un recurso
HEAD — solo cabeceras
GET /productos/12 HTTP/1.1 Host: suamoblado.com Accept: application/json User-Agent: Mozilla/5.0

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:

  1. El cliente saluda ("Client Hello") y dice qué cifrados soporta.
  2. El servidor responde y envía su certificado (con su clave pública).
  3. El navegador verifica el certificado con una Autoridad Certificadora (CA).
  4. 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:

USER freddy # usuario PASS ******** # contraseña PWD # carpeta actual LIST # listar archivos STOR index.php # subir archivo RETR logo.png # descargar archivo QUIT # cerrar

⚠️ 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:

AspectoFTPSSFTP
Qué esFTP + capa TLS/SSLTransferencia sobre SSH (nada que ver con FTP)
Puerto990 / 2122 (el mismo de SSH)
CanalesDos (control + datos)Uno solo
FirewallsPuede dar problemasMuy 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 $_SESSION en 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.

Presiona Enviar para ver el viaje de la petición…
📤 PETICIÓN (Request)
📥 RESPUESTA (Response)

🚦 Explorador de códigos de estado

Toca un código para conocer qué significa. La primera cifra indica la familia.

1xx
Info
2xx
Éxito
3xx
Redirección
4xx
Error cliente
5xx
Error servidor
?
Elige uno →

🔌 Puertos que todo programador debe conocer

PuertoProtocolo¿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.

ftp>

📚 Diccionario

Protocolo
Conjunto de reglas para que dos máquinas se comuniquen.
HTTP
Protocolo de la web para pedir y enviar recursos (puerto 80).
HTTPS
HTTP cifrado con TLS. Seguro (puerto 443).
TLS / SSL
Capa que cifra la conexión. TLS es el sucesor de SSL.
Certificado
Documento digital que prueba la identidad del servidor y contiene su clave pública.
CA
Autoridad Certificadora: entidad de confianza que emite certificados (ej. Let's Encrypt).
FTP
Protocolo para transferir archivos (puertos 20/21). Sin cifrar.
SFTP
Transferencia segura de archivos sobre SSH (puerto 22).
FTPS
FTP con una capa de cifrado TLS/SSL.
Puerto
Número que identifica un servicio en un servidor (una "puerta").
Cliente-Servidor
Modelo donde el cliente pide y el servidor responde.
Request / Response
Petición del cliente y respuesta del servidor.
Header (cabecera)
Metadato de la petición o respuesta (tipo de contenido, cookies, etc.).
Código de estado
Número de 3 cifras que resume el resultado (200, 404, 500…).
DNS
Traduce nombres (suamoblado.com) a direcciones IP.
SSH
Protocolo para administrar servidores de forma segura (puerto 22).

🎬 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.