Artículo de consulta · Programación
HTTP y APIs web: peticiones, respuestas y estados
Una API expone operaciones que otro programa puede utilizar. Muchas APIs web se comunican mediante HTTP: el cliente envía una petición a una URL y el servidor devuelve una respuesta. HTTP también se utiliza para cargar páginas y otros recursos.
Partes de una petición
Una petición incluye un método, un destino y cabeceras; también puede llevar un cuerpo. GET solicita una representación de un recurso. POST envía datos para que el servidor los procese. El significado concreto de una operación depende del contrato de la API, no solo del nombre del método.
Cabeceras y cuerpo
Content-Type describe el formato del cuerpo enviado; Accept expresa los formatos de respuesta aceptables. JSON es frecuente, pero HTTP también transporta HTML, texto y otros formatos. Este intercambio es ilustrativo: /api/articulos representa una ruta de ejemplo que tu servidor tendría que implementar.
GET /api/articulos HTTP/1.1
Host: ejemplo.test
Accept: application/json
HTTP/1.1 200 OK
Content-Type: application/json
{"articulos":[{"id":1,"titulo":"HTML"}]}Familias de estados
- 2xx: la petición se procesó con éxito; 200 devuelve una respuesta satisfactoria y 201 indica creación.
- 3xx: redirecciones y otros estados relacionados; 304 indica que una representación en caché no se modificó.
- 4xx: problemas con la petición; 400 señala una petición incorrecta, 401 falta de credenciales válidas, 403 acceso rechazado y 404 recurso no encontrado.
- 5xx: errores del servidor o de componentes que intervienen; 500 indica un error interno.
No todas las respuestas tienen datos
204 significa que no hay contenido que devolver. No intentes interpretar un cuerpo JSON vacío. Un estado exitoso tampoco garantiza que los datos tengan la estructura que tu aplicación espera: comprueba los campos necesarios antes de utilizarlos.
Cómo investigar una petición
- Abre la pestaña Network del navegador y repite la acción.
- Comprueba URL, método, estado y cabeceras antes de revisar el cuerpo.
- Compara el intercambio con la documentación de la API y distingue un rechazo HTTP de un problema de conexión.
Referencias
Artículos relacionados
- Fundamentos: variables, condiciones y bucles
- HTML semántico y estructura de una página
- CSS: modelo de caja, Flexbox y Grid
- JavaScript: funciones, parámetros y alcance
- JavaScript: arrays, objetos y transformación de datos
- DOM y eventos: conectar JavaScript con HTML
- Promesas, async/await y peticiones con fetch
- JSON: formato, lectura y validación de datos
- Git: cambios, commits, ramas y repositorios remotos
- Node.js y npm: scripts y dependencias de un proyecto
- Depuración y pruebas: encontrar y comprobar errores
- Formatos de color: HEX, RGB y HSL
- Identificadores UUID
- Valores aleatorios en JavaScript
