INFOTEP Técnico en Programación de Páginas Web study materials
INFOTEP Técnico en Programación de Páginas Web study resources

INFOTEP Técnico en Programación de Páginas Web: Programación del lado del servidor y APIs

INFOTEP Técnico en Programación de Páginas Web · Work through your exam, one topic at a time.

All guide sections

Programación del lado del servidor y APIs

Este dominio examina cómo se recibe, valida y responde una petición en el servidor, y cómo se diseña una API REST comprensible. Se pregunta por rutas, middleware, códigos de estado, formato JSON, validación de entrada, autenticación y CORS.

Servidor, rutas y middleware

  • El servidor escucha peticiones, aplica middleware (logging, autenticación, parseo de JSON) y llega al controlador de la ruta.
  • Una ruta se define por método y ruta: GET /api/cursos, POST /api/cursos, GET /api/cursos/:id.
  • El controlador valida, llama al modelo o servicio y devuelve una respuesta con código y cuerpo JSON.
  • La validación de entrada se hace en el servidor aunque exista validación en el cliente. Nunca se confía en el navegador.

Diseño REST

  • Los recursos son sustantivos en plural; el método expresa la acción. No se diseña GET /borrarCurso.
  • GET lee, POST crea, PUT reemplaza, PATCH modifica parcialmente y DELETE elimina.
  • Códigos coherentes: 200 lectura correcta, 201 creación con cabecera Location, 204 sin contenido, 400 datos inválidos, 401 no autenticado, 403 sin permiso, 404 no encontrado, 409 conflicto, 422 validación semántica y 500 error interno.
  • Las listas se paginan con page y limit o con cursores; se devuelve metadata además de los datos.
  • CORS es una política del navegador: el servidor declara qué orígenes puede leer la respuesta. No protege una API de llamadas directas con herramientas externas.

Ejemplo trabajado

POST /api/estudiantes recibe {nombre, correo}. El servidor valida que ambos existan, que el correo tenga formato y que no esté duplicado. Si falta nombre, responde 400 con {errores:[{campo:'nombre',mensaje:'requerido'}]}. Si el correo ya existe, responde 409. Si todo es correcto, crea el registro y responde 201 con Location: /api/estudiantes/42 y el recurso creado. El razonamiento: 400 indica entrada inválida, 409 un conflicto de unicidad y 201 el éxito de una creación.

Errores que cuestan puntos

Devolver 200 con {error:...}; exponer trazas internas al cliente; confiar en la validación del navegador; usar GET para operaciones que modifican datos; no paginar listas; creer que CORS es autenticación; guardar secretos en el frontend.