← Guías para tu examen

Universidad · 12 min de lectura

Ingeniería Web: razona peticiones HTTP, estados y permisos

Sigue una petición del navegador al servidor, distingue métodos y estados HTTP y comprueba permisos con cuatro casos resueltos para repasar Ingeniería Web.

Fundamentos de arquitectura web para contrastar con tus apuntes. Los casos de esta guía son propios y no se presentan como preguntas de un examen oficial ni como el programa completo de una universidad. Puedes leer las explicaciones y abrir las soluciones sin cuenta.

1. Sigue una petición de principio a fin

El navegador solicita un recurso y el servidor devuelve una respuesta. En una aplicación dinámica, el servidor puede consultar datos, aplicar reglas y construir el resultado. El navegador interpreta el HTML recibido y puede pedir después hojas de estilo, imágenes o datos adicionales.

Imagina un catálogo de libros. Al abrir la ficha 42, el navegador solicita esa ficha; el servidor busca el libro, prepara una representación y la devuelve. El contenido visible puede ser HTML o formarse a partir de datos que recibe el cliente. En ambos casos, la existencia de la ficha debe decidirse con los datos reales.

Para explicar una arquitectura, dibuja cuatro pasos: petición, validación, operación y respuesta. Añade qué parte ocurre en cada lado. No basta con llamar «backend» a una caja: indica qué comprueba y qué devuelve. Tampoco confundas el servidor con la base de datos; esta es uno de los recursos que puede utilizar.

2. El método expresa la intención

GET solicita una representación y tiene semántica de lectura. POST pide procesar el contenido enviado según el recurso. PUT crea o reemplaza el estado del recurso de destino. DELETE solicita retirar la asociación del recurso. El significado del método ayuda a que clientes e intermediarios sepan qué esperar.

Para una lista de tareas de ejemplo, consultar /tareas/42 encaja con GET. Enviar una nueva tarea a una colección puede usar POST. La elección del método no implementa por sí sola validaciones, permisos ni protección contra solicitudes repetidas: el servidor debe aportar esas reglas.

Idempotente significa que repetir la misma petición tiene el mismo efecto previsto sobre el servidor que ejecutarla una vez. No significa que todas las respuestas deban ser idénticas. Si un DELETE elimina una tarea, una repetición puede recibir 404 porque ya no está; el efecto sigue siendo que esa tarea no existe.

3. Lee el resultado antes de culpar a la interfaz

Un 200 indica que la petición se atendió correctamente; un 404, que no se encontró el recurso; un 403 expresa que el servidor rechaza atenderla. Un 500 señala una condición inesperada del servidor. El estado resume el resultado HTTP, pero para diagnosticar necesitas contrastarlo con la operación que pretendías realizar.

Supón que la ficha 42 fue borrada y la interfaz sigue mostrando el enlace. Si al abrirlo recibes 404, hay una referencia que revisar. Si recibes 200 con datos correctos pero la pantalla queda vacía, investiga cómo la interfaz interpreta y presenta esos datos. Una pantalla vacía, sin observar la respuesta, no permite localizar la causa.

En un ejercicio de diagnóstico, escribe primero la evidencia: ruta solicitada, estado y contenido recibido. Después formula una hipótesis comprobable. Evita convertir «no carga» en «la base de datos está caída» sin un dato que conecte ambas cosas.

4. Identidad y permiso se comprueban por separado

Autenticar es comprobar quién realiza una petición. Autorizar es decidir si puede realizar esa acción sobre ese recurso. Una sesión válida no da acceso a todos los documentos de una aplicación. El servidor debe comprobar los permisos pertinentes en cada petición.

En una libreta privada, Ana puede tener permiso para leer su nota 42 y no la nota 43 de otra persona. Ocultar el enlace a la segunda en la interfaz mejora la navegación, pero no protege el recurso: una petición directa todavía puede llegar al servidor. La comprobación debe relacionar usuario, acción y nota.

Para evaluar el diseño, inventa dos usuarios y dos notas con propietarios distintos. Verifica la lectura propia, la lectura ajena y la petición sin sesión. No necesitas datos reales para razonar los casos. Una prueba que solo confirma que aparece el botón no comprueba la autorización.

Ejercicios resueltos para comprobar lo aprendido

Intenta explicar tu respuesta en papel antes de abrir la solución. Después compara el razonamiento, no solo el resultado.

Ejercicio 1

Un enlace GET /tareas/42/borrar elimina una tarea. ¿Qué problema de diseño hay?

Ver solución del ejercicio 1

Se está usando una petición con semántica de lectura para provocar una eliminación. La operación necesita un diseño de modificación explícita y sus controles de autorización; cambiar el nombre de la ruta no soluciona el problema.

Qué revisar: Pregúntate qué efectos provoca la petición, no solo qué texto tiene el botón.

Ejercicio 2

El primer DELETE de una tarea devuelve 204 y el segundo 404. ¿Eso demuestra que DELETE no es idempotente?

Ver solución del ejercicio 2

No. Idempotencia se refiere al efecto previsto sobre el servidor. Tras ambas peticiones, la tarea sigue eliminada, aunque las respuestas difieran.

Qué revisar: No confundas estado final del recurso con igualdad literal de las respuestas.

Ejercicio 3

La API devuelve 200 y la ficha correcta, pero la pantalla queda vacía. ¿Qué revisarías a continuación?

Ver solución del ejercicio 3

Revisaría la interpretación de la respuesta y el renderizado en el cliente: nombres de campos, condiciones de presentación y errores de JavaScript. La respuesta observada no respalda empezar afirmando una caída de la base de datos.

Qué revisar: Usa la evidencia para acotar la siguiente comprobación; una hipótesis todavía no es una causa confirmada.

Ejercicio 4

Un usuario autenticado cambia el número de una nota en la URL y puede leer la de otro usuario. ¿Qué control falta?

Ver solución del ejercicio 4

Falta una autorización adecuada sobre el recurso. El servidor debe verificar que ese usuario puede leer esa nota, aunque tenga una sesión válida y aunque la interfaz no publique el enlace.

Qué revisar: La identidad responde a quién eres; el permiso responde a qué puedes hacer aquí.

Fuentes de consulta

Estas referencias explican los conceptos de la guía. Los ejemplos y las soluciones están redactados para Quizy; las fuentes no han revisado ni avalado esta página.

Cómo continuar con los tests

  1. Compara los títulos y el contenido con el programa de tu asignatura.
  2. Selecciona solo los temas que entren en tu parcial.
  3. Utiliza el simulacro para ensayar y el repaso de errores para decidir por dónde continuar.

Tests relacionados

6 tests disponibles · 107 preguntas. Entra con tu cuenta para practicar y guardar tus resultados.

Organizar mi semana con este pack

Ver toda la asignatura

Antes de empezar los tests

¿El pack corresponde a cualquier universidad?

No necesariamente. Los nombres de los temas corresponden al material disponible en Quizy. Comprueba que el contenido coincide con tu asignatura.

¿Puedo compartirlo con compañeros?

Sí. El pack permite preparar un grupo privado con los mismos tests y compartir una invitación.