Una cabecera HTTP (HTTP header) es la metainformacion que se intercambia entre el navegador y el servidor durante una comunicacion HTTP, de forma separada al cuerpo (body) del mensaje. Si lo comparamos con una carta, el cuerpo seria el contenido de la carta y las cabeceras serian los datos escritos en el sobre: remitente, destinatario, fecha, etc.
Las cabeceras HTTP se dividen en cabeceras de solicitud (navegador a servidor) y cabeceras de respuesta (servidor a navegador). Ejemplos representativos de cabeceras de solicitud son User-Agent (tipo de navegador), Accept (formatos de datos aceptados) y Cookie (informacion de cookies almacenadas). Entre las cabeceras de respuesta destacan Content-Type (tipo de datos), Cache-Control (control de cache) y Location (URL de redireccion).
El proceso de redireccion de las URL cortas se basa precisamente en el mecanismo de las cabeceras HTTP. Cuando se accede a una URL corta, el servidor responde con un codigo de estado 301 o 302 e incluye la URL original en la cabecera Location. El navegador lee el valor de Location y navega automaticamente a esa pagina. Este proceso suele completarse en menos de 50 milisegundos.
Las cabeceras HTTP relacionadas con la seguridad tambien son importantes. Strict-Transport-Security (HSTS) fuerza la conexion HTTPS, X-Frame-Options previene el clickjacking y Content-Security-Policy (CSP) mitiga los ataques XSS. Configurar correctamente estas cabeceras mejora significativamente la seguridad de un sitio web.
Las cabeceras HTTP se pueden inspeccionar con las herramientas de desarrollo del navegador (tecla F12, pestana Network). Cuando se desea conocer el destino de redireccion de una URL corta, basta con comprobar la cabecera Location en las herramientas de desarrollo para averiguarlo sin necesidad de acceder realmente al destino. Los libros relacionados se pueden buscar en Amazon.