Desarrollo Web Backend
Sesión 1: Fundamentos de la Web
Jorge Antonio Del Aguila / Instructor
📋 Agenda de Hoy
- Introducción: ¿Qué es Backend?
- El viaje de una petición web
- Protocolo HTTP (Métodos, Headers)
- El concepto clave: API
- Códigos de Estado (Status Codes)
- JSON vs HTML & APIs
- Mini Ejercicios Prácticos
¿Qué es Backend? 🤔
Es la "cocina" de la aplicación. Lo que el usuario NO ve.
Frontend 🎨
El Menú, la Decoración, el Mesero.
Backend ⚙️
El Chef, la Cocina, la Despensa.
🛠️ Tu rol como Backend Developer
- Diseñar y construir APIs.
- Implementar Lógica de Negocio.
- Gestionar la Base de Datos.
- Asegurar la Seguridad y Autenticación.
El Viaje de una Petición 🌍
Navegador
(Cliente)
➡️
Servidor
(Django)
🔄
Base de
Datos
1. Petición HTTP 2. Proceso Lógico
3. Consulta DB 4. Respuesta
Protocolo HTTP / HTTPS 🔒
El lenguaje de la web.
- HTTP: HyperText Transfer Protocol.
- HTTPS: Versión segura (encriptada con SSL/TLS).
¡Hoy en día, todo debe ser HTTPS!
Verbos HTTP (Acciones)
| Método |
Acción (CRUD) |
Descripción |
| GET |
Read |
Pedir datos (sin modificar). |
| POST |
Create |
Enviar datos (crear nuevo). |
| PUT |
Update |
Actualizar datos existentes. |
| DELETE |
Delete |
Borrar un recurso. |
¿Qué es una API? 🔌
Application Programming Interface
Es un intermediario que permite que dos aplicaciones se hablen entre sí.
La Analogía del Mesero 🤵
TÚ (Cliente)
Tienes hambre, pero no puedes entrar a la cocina a cocinarte.
EL MESERO (API)
Toma tu pedido (formato específico), lo lleva a la cocina y te trae la comida.
LA COCINA (Backend/BD)
Prepara la comida con los ingredientes crudos (Datos).
¿Por qué son vitales?
Gracias a la API, tu mismo Backend (Django) puede servir datos a:
- 💻 Una Web (React/Vue)
- 📱 Una App Móvil (iOS/Android)
- ⌚ Un Smart Watch
Todos "piden" datos a la misma API.
El Flujo App Mobile
App Móvil
➡️
API
➡️
Base de Datos
La API define CÓMO pedir las cosas (Endpoints).
GET /api/productos --> "Mesero, tráeme la lista de productos"
Anatomía de una Petición 🧬
POST /api/users HTTP/1.1
Host: miweb.com
Content-Type: application/json
Authorization: Bearer tokensicreto123
{
"nombre": "Juan",
"email": "juan@email.com"
}
☝️ Headers (Metadatos) vs Body (Datos reales)
JSON (JavaScript Object Notation)
{
"plato": "Pizza",
"precio": 15,
"ingredientes": ["Queso", "Tomate"]
}
Es texto plano, ligero y fácil de leer para cualquier programa.
Status Codes (Semáforo) 🚦
- 2xx (Éxito): 200 OK, 201 Created.
- 4xx (Error Cliente):
- 400 Bad Request (Datos mal)
- 401 Unauthorized (Loguéate)
- 404 Not Found (No existe)
- 5xx (Error Servidor): 500 Internal
Error (Culpa nuestra 😅).
Formatos de Respuesta
¿Qué devolvemos al usuario?
Web Tradicional (HTML)
Hola, Juan
Tu saldo es $50
Mezcla datos y diseño.
API (JSON)
// Solo datos. El Frontend decide cómo mostrarlo.
{
"user": "Juan",
"balance": 50,
"currency": "USD"
}
Este es el estándar moderno para Backend.
🕵️♂️ DevTools
Tu mejor amigo: F12 > Pestaña Network.
Nos permite ver qué entra y sale de nuestro navegador en tiempo real.
⚡ Hora de Práctica
- Abrir DevTools en una web de noticias.
- Analizar el primer GET (Status 200).
- Entrar a JSONPlaceholder.
- Entrar a PokeAPI.
¡Fin de la Sesión 1! 🚀
¿Preguntas?
Próxima clase: Configuración de entorno y "Hola Mundo" en Django.