Saltar a contenido

04.-Análisis de la respuesta HTTP

Análisis de la respuesta HTTP

En la comunicación HTTP, el servidor genera una respuesta HTTP que sigue una estructura similar a la de las peticiones HTTP enviadas por el cliente. Una respuesta HTTP se compone de los siguientes elementos:

1. Línea de estado

Es la primera línea de la respuesta y contiene:

  • Código de estado HTTP: Indica el resultado de la solicitud (200 OK, 404 Not Found, 403 Forbidden, etc.).
  • Mensaje descriptivo: Explica el estado de la respuesta.
  • Versión del protocolo HTTP utilizada.

2. Cabeceras de la respuesta

Contienen información adicional sobre la respuesta y su contenido, como:

  • Set-Cookie: Indica una cookie que el cliente debe almacenar y enviar en futuras peticiones.
  • Server: Especifica el tipo y la versión del servidor web.
  • Date: Muestra la fecha y hora en que se generó la respuesta.

3. Cuerpo de la respuesta

Depende del código de estado HTTP. Si está presente, puede contener:

  • Código HTML de una página web.
  • Imágenes, archivos binarios o respuestas estructuradas en JSON o XML.

Códigos de estado HTTP

Los códigos de estado indican el resultado de la operación y se dividen en varias categorías:

  • 1xx - Respuestas informativas La petición ha sido recibida y está siendo procesada.
  • 2xx - Respuestas exitosas La solicitud se ha procesado correctamente sin errores.
  • 3xx - Redirecciones El cliente debe realizar otra petición a la URL indicada en la respuesta.
  • 4xx - Errores del cliente Indican que hubo un problema en la solicitud, como:
  • 400 Bad Request: Petición mal formada.
  • 403 Forbidden: Acceso no permitido.
  • 404 Not Found: Recurso no encontrado.
  • 5xx - Errores del servidor Indican que la solicitud no pudo completarse debido a un fallo interno del servidor.

Cabeceras de respuesta HTTP más comunes

  • Access-Control: Especifica los dominios permitidos para compartir información con el servidor.
  • Allow: Indica los métodos HTTP aceptados por el recurso.
  • Cache-Control: Determina si la respuesta puede almacenarse en caché y por cuánto tiempo.
  • Content-Encoding: Define la codificación aplicada al contenido (gzip, deflate).
  • Content-Type: Especifica el tipo de datos devueltos (text/html, application/json, etc.).
  • Date: Fecha y hora en que se generó la respuesta HTTP.
  • Expires: Indica cuándo la respuesta dejará de ser válida.
  • Last-Modified: Muestra la última vez que se actualizó el recurso en el servidor.
  • Location: Se usa en redirecciones (códigos 3xx) para indicar la nueva URL del recurso.
  • Server: Identifica el tipo y la versión del software del servidor.
  • Set-Cookie: Envía una cookie al navegador para futuras solicitudes.
  • Strict-Transport-Security: Obliga al navegador a utilizar HTTPS para comunicarse con el servidor.
  • WWW-Authenticate: Indica el esquema de autenticación necesario para acceder a un recurso restringido.
  • X-Frame-Options: Protege contra ataques de clickjacking, evitando que el sitio se cargue en marcos de otros dominios.
  • X-Powered-By: Especifica la tecnología utilizada en la aplicación (PHP/5.4.0, ASP.NET).

Más información sobre cabeceras HTTP en: Lista de cabeceras HTTP


Autoevaluación

  1. Los códigos de error de tipo 4xx (por ejemplo 400, 404, 403) indican un error producido por el servidor.
    • Falso – Los errores 4xx son causados por el cliente.
  2. Las cabeceras de respuesta "Set-Cookie" indican al navegador que almacene una cookie y la envíe en cada iteración con el aplicativo.
    • Verdadero – La cabecera "Set-Cookie" permite al servidor establecer una cookie que el navegador enviará automáticamente en futuras peticiones al mismo dominio.