> For the complete documentation index, see [llms.txt](https://4lec4st.gitbook.io/4lec4st/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://4lec4st.gitbook.io/4lec4st/ejpt-notes/pruebas-de-penetracion-de-aplicaciones-web/protocolo-http/fundamentos-del-protocolo-http-s/respuestas-http.md).

# Respuestas HTTP

## 📌 1. **Status-Line**

* Es la primera línea de la respuesta HTTP.
* Incluye:
  * **Protocolo HTTP** (e.g., `HTTP/1.1`)
  * **Código de estado** (e.g., `200`)
  * **Mensaje del estado** (e.g., `OK`)

📍 *Ejemplo:*\
`HTTP/1.1 200 OK`

***

## 📌 2. **Response Headers**

Proveen metadatos adicionales sobre la respuesta. Algunos comunes:

* **Content-Type**: Tipo de contenido (e.g., `text/html`, `application/json`)
* **Content-Length**: Tamaño del contenido del cuerpo en bytes.
* **Set-Cookie**: Establece cookies en el cliente.
* **Cache-Control**: Controla cómo se almacena en caché la respuesta.
* **Content-Encoding**: Indica la compresión usada (e.g., `gzip`)
* **Date**: Fecha en que se generó la respuesta.
* **Server**: Informa el software del servidor web (e.g., `Apache`, `gws`)

📍 *Ejemplo de headers:*

```http
Date: Fri, 13 Mar 2015 11:26:05 GMT
Cache-Control: private, max-age=0
Content-Type: text/html; charset=UTF-8
Content-Encoding: gzip
Server: gws
Content-Length: 258
```

***

## 📌 3. **Response Body** (opcional)

* Contiene el contenido solicitado (p. ej., HTML, JSON, imagen, etc.)
* Es lo que visualizas en el navegador si se trata de una página web.

***

## 🔁 Códigos de Estado HTTP más comunes

| Código | Significado                                           |
| ------ | ----------------------------------------------------- |
| 200    | OK – Petición exitosa.                                |
| 301    | Moved Permanently – Recurso movido a una nueva URL.   |
| 302    | Found – Recurso encontrado temporalmente en otra URL. |
| 400    | Bad Request – Error de sintaxis en la petición.       |
| 401    | Unauthorized – Se requiere autenticación.             |
| 403    | Forbidden – Prohibido el acceso al recurso.           |
| 404    | Not Found – Recurso no encontrado.                    |
| 500    | Internal Server Error – Error del servidor.           |

***

## 🗃️ Cache-Control Directivas

| Directiva     | Descripción                                                       |
| ------------- | ----------------------------------------------------------------- |
| `public`      | Puede ser almacenado por cachés intermedias.                      |
| `private`     | Solo para el cliente; no se debe almacenar en cachés compartidas. |
| `no-cache`    | Se debe validar con el servidor antes de usar la copia en caché.  |
| `no-store`    | No debe almacenarse ninguna copia.                                |
| `max-age=xxx` | Tiempo (en segundos) que la respuesta puede almacenarse en caché. |
