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¶
- 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.
- 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.