Encabezados HTTP (HTTP Headers)
Los headers HTTP son información adicional que viaja entre cliente y servidor en cada petición/respuesta.
Algunos son exclusivos de las peticiones (Request), otros de las respuestas (Response) y algunos son comunes.
Formato:
Header-Name: valor
🔹 Tipos de Headers
🌀 General Headers
Usados en request y response. Describen el mensaje, no el contenido.
| Header | Ejemplo | Descripción |
|---|---|---|
| 📅 Date | Date: Wed, 16 Feb 2022 10:38:44 GMT |
Fecha y hora (UTC) en que se originó el mensaje. |
| 🔗 Connection | Connection: close |
Controla si la conexión sigue abierta (keep-alive) o se cierra (close). |
📦 Entity Headers
Describen el contenido (entity) transferido.
| Header | Ejemplo | Descripción |
|---|---|---|
| 📄 Content-Type | Content-Type: text/html; charset=UTF-8 |
Tipo de recurso y codificación. |
| 📑 Media-Type | Media-Type: application/pdf |
Similar a Content-Type, útil en interpretación del servidor. |
| 🧩 Boundary | boundary="b4e4fbd93540" |
Marca que separa múltiples partes en un mensaje (ej. formularios). |
| 📏 Content-Length | Content-Length: 385 |
Tamaño del contenido en bytes. |
| 🗜️ Content-Encoding | Content-Encoding: gzip |
Transformación aplicada (compresión, codificación). |
📥 Request Headers
Enviados por el cliente en cada petición.
| Header | Ejemplo | Descripción |
|---|---|---|
| 🏷️ Host | Host: www.inlanefreight.com |
Host solicitado (IP o dominio). Importante en virtual hosting. |
| 👤 User-Agent | User-Agent: curl/7.77.0 |
Info del cliente (navegador, SO, versión). |
| 🔗 Referer | Referer: https://google.com/ |
Indica desde dónde proviene la petición. Puede falsificarse. |
| ✅ Accept | Accept: */* |
Tipos de contenido que el cliente puede recibir. |
| 🍪 Cookie | Cookie: PHPSESSID=b4e4fbd93540 |
Identificador de sesión / preferencias de usuario. |
| 🔑 Authorization | Authorization: BASIC cGFzc3dvcmQK |
Método de autenticación (Basic, Bearer, etc.). |
📤 Response Headers
Enviados por el servidor en cada respuesta.
| Header | Ejemplo | Descripción |
|---|---|---|
| 🖥️ Server | Server: Apache/2.2.14 (Win32) |
Info del servidor web y su versión. |
| 🍪 Set-Cookie | Set-Cookie: PHPSESSID=b4e4fbd93540 |
Cookies entregadas al cliente. |
| 🔒 WWW-Authenticate | WWW-Authenticate: BASIC realm="localhost" |
Tipo de autenticación requerida. |
🛡️ Security Headers
Cabeceras que fortalecen la seguridad frente a ataques web.
| Header | Ejemplo | Descripción |
|---|---|---|
| 🛑 Content-Security-Policy (CSP) | Content-Security-Policy: script-src 'self' |
Define qué recursos puede cargar el navegador (previene XSS). |
| 🔐 Strict-Transport-Security (HSTS) | Strict-Transport-Security: max-age=31536000 |
Obliga al navegador a usar solo HTTPS. |
| 🕵️ Referrer-Policy | Referrer-Policy: origin |
Controla si se envía el Referer y cómo. |
🛠️ Uso con cURL
-
🔎 Ver solo headers de respuesta (HEAD request):
curl -I https://www.ejemplo.com -
📋 Ver headers + body:
curl -i https://www.example.com -
📝 Cambiar el User-Agent:
curl -A "Mozilla/5.0" https://www.inlanefreight.com
- 🍪 Enviar cookies personalizadas:
curl -H "Cookie: session=12345" https://www.inlanefreight.com
🖥️ Ver Headers en el Navegador (DevTools)
-
Abrir la pestaña Network en Chrome/Firefox.
-
Seleccionar una petición → pestaña Headers.
-
Opcional: Ver Cookies o modo Raw para detalles completos.