La web funciona con un modelo cliente-servidor: el cliente (tu navegador) realiza peticiones y el servidor (la máquina remota) devuelve respuestas. El idioma de esa conversación es HTTP (HyperText Transfer Protocol).
Cada interacción es una pareja petición → respuesta. HTTP define cómo se piden y entregan los recursos (páginas, imágenes, datos).
El ciclo de una petición:
- Escribís una URL → el navegador resuelve el dominio por DNS (obtiene la IP).
- Establece conexión con el servidor (y el handshake TLS si es HTTPS).
- Envía una petición HTTP ("dame este recurso").
- El servidor procesa y devuelve una respuesta HTTP (estado + contenido).
- El navegador renderiza la página.
Característica clave: HTTP es "sin estado" (stateless)
- Cada petición es independiente: el servidor no recuerda las anteriores por sí solo.
- Por eso se usan cookies, sesiones y tokens para "recordar" al usuario (tema 3).
HTTP vs HTTPS:
| HTTP | HTTPS | |
|---|---|---|
| Cifrado | No (texto plano) | Sí (TLS) |
| Riesgo | Interceptable (sniffing) | Protegido |
| Indicador | — | 🔒 candado |
| Puerto | 80 | 443 |
⚠️ HTTP sin cifrar expone todo el tráfico (incluidas credenciales) a quien lo intercepte. HTTPS es el estándar actual.
Por qué importa en seguridad: casi todos los ataques web (SQLi, XSS, CSRF, etc.) manipulan peticiones y respuestas HTTP. Entender este flujo es el prerrequisito para todo el hacking web.
Este tema abre el pilar y conecta con DNS (Redes), el handshake TLS (Criptografía) y todo el pilar de Hacking Web.