Cuando visitas cualquier sitio web, tu navegador envía una solicitud al servidor web para obtener datos o in­fo­r­ma­ción del mismo, por ejemplo, un archivo HTML (es decir, una página web). Tanto en la solicitud, la HTTP-Request, como en la respuesta del servidor, se in­te­r­ca­m­bian, además de datos reales, "in­fo­r­ma­ción meta". Esta in­fo­r­ma­ción se resume en la cabecera HTTP. Ex­pli­ca­mos la función de la cabecera HTTP y sus elementos más im­po­r­ta­n­tes.

Compra y registra tu dominio ideal
  • Ce­r­ti­fi­ca­do SSL Wildcard gratis
  • Registro privado
  • Función Domain Connect para una co­n­fi­gu­ra­ción DNS si­m­pli­fi­ca­da gratis

La función de la cabecera HTTP: un ejemplo

Si quisieras entrar al sitio www.example.com, el servidor web no solo te entregará este sitio web en sí, sino también la siguiente cabecera, la cual es invisible para los usuarios:

Cada una de estas líneas recibe el nombre de campo de cabecera (header field). Cada una de ellas, excepto la primera, consta de nombres y valores separados por dos puntos.

  • HTTP/1.1 es la versión válida del protocolo HTTP.
  • 200 OK es el código de estado. Indica que el servidor ha recibido, entendido y aceptado la solicitud.
  • Content-Encoding y Content-Type pro­po­r­cio­nan in­fo­r­ma­ción sobre el tipo de archivo.
  • Age, Cache-Control, Expires, Vary y X-Cache se refieren al caching del archivo.
  • Etag y Last-Modified se utilizan para el control del archivo entregado.
  • Server se refiere al software del servidor web.
  • Content-lenght es el tamaño del archivo en bytes.

Como puedes ver, la in­fo­r­ma­ción de cabecera se utiliza pri­n­ci­pa­l­me­n­te para la coor­di­na­ción entre el cliente y el servidor: se garantiza que el cliente pueda conocer la forma del archivo, saber si el archivo está ac­tua­li­za­do y que el archivo cumpla con las ex­pe­c­ta­ti­vas del navegador.

Las líneas de cabecera que se muestran en el ejemplo son solo una pequeña parte de los campos di­s­po­ni­bles. En total, hay casi 100 campos de cabecera HTTP, de los cuales unos 30 sirven para es­pe­ci­fi­car so­li­ci­tu­des HTTP, otros 30 para la respuesta del servidor y toda una serie de otros campos de cabecera que tienen di­fe­re­n­tes pro­pó­si­tos y que, en su mayoría, no son uti­li­za­dos por usuarios comunes.

El siguiente resumen explica los campos de cabecera más im­po­r­ta­n­tes.

Campos de cabecera HTTP más im­po­r­ta­n­tes

Request header (cabecera de solicitud)

Campo de cabecera Si­g­ni­fi­ca­do Ejemplo
Accept Qué tipos de contenido puede procesar el cliente; si el campo está vacío, esos son todos los tipos de contenido Accept: text/html, ap­pli­ca­tion/xml
Accept-Charset Qué ca­ra­c­te­res puede mostrar el cliente Accept-Charset: utf-8
Accept-Encoding Qué formatos co­m­pri­mi­dos soporta el cliente Accept-Encoding: gzip
Accept-Language Pre­fe­re­n­cia de idioma Accept-Language: de-DE
Au­tho­ri­za­tion Datos de au­te­n­ti­ca­ción (por ejemplo, para un inicio de sesión) Basic WjbU7D25zTAlV2tZ7==
Cache-Control Opciones de mecanismo de caching Cache-Control: no-cache
Cookie Cookies al­ma­ce­na­das para este servidor Cookie: $Version=1; Content=23
Content-Length Longitud del cuerpo de la solicitud Content-Length: 212
Content-Type Tipo MIME del cuerpo; pe­r­ti­ne­n­te para las so­li­ci­tu­des POST y PUT Content-Type: ap­pli­ca­tion/x_222-form-ur­le­n­co­ded
Date Fecha y hora de la solicitud Date: Mon, 9 March 2020 09:02:22 GMT
Expect Formula una ex­pe­c­ta­ti­va al servidor, ge­ne­ra­l­me­n­te la recepción de una solicitud grande Expect: 100-continue (El servidor debe enviar el código 100 cuando esté preparado para recibir una solicitud)
Host Nombre de dominio del servidor Host: ejemplo.es
If-Match Permite la ejecución co­n­di­cio­nal de una acción, de­pe­n­die­n­do de la coin­ci­de­n­cia de un código tra­n­s­mi­ti­do If-Match: „ft678iujhnjio90’pöl“
If-Modified-Since Permite enviar contenido solo si éste ha sido mo­di­fi­ca­do desde el momento es­pe­ci­fi­ca­do IF-Modified-Since: Mon 2 Mar 2020 1:00:00 GMT
If-None-Match Como arriba, pero es­pe­ci­fi­ca­do a través de un ETag (etiqueta de entidad, ver abajo) If-None-Match: „cxdrt5678iujhgbvb“
If-Range Solicita solo la parte del contenido que fue cambiada o que falta en el cache del cliente If-Range: Mon 2 Mar 2020 1:00:00 GMT
If-Un­mo­di­fied-Since IF-Modified-Since análogo If-Modified-Since: Mon 2 Mar 2020 1:00:00 GMT
Max-Forwards Define el número máximo de veces que la respuesta del servidor puede ser reenviada Max-Forwards: 12
Proxy-Au­tho­ri­za­tion Se utiliza para au­te­n­ti­car al cliente en un servidor proxy Proxy-Au­tho­ri­za­tion: Basic WjbU7D25zTAlV2tZ7==
Range Es­pe­ci­fi­ca una parte del contenido so­li­ci­ta­do Range: bytes=0-9999
Referrer URL del recurso del que procede la solicitud (es decir, del que se hizo el enlace) Referrer: https://ejemplo.es/index.html
TE Co­di­fi­ca­ción de tra­n­s­fe­re­n­cia aceptada TE: gzip, deflate
User-Agent User-Agent del cliente (es decir, el navegador) Mozilla/5.0 (Windows NT 10.0; Win64; x64) Ap­ple­We­b­Kit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
ra­n­ki­n­g­Coa­ch de IONOS
Impulsa tus ventas con marketing online y la IA
  • Mejora tu po­si­cio­na­mie­n­to en Google sin necesidad de una agencia
  • Responde los co­me­n­ta­rios y publica en redes sociales más rápido
  • Sin necesidad de co­no­ci­mie­n­tos de SEO o marketing online

Response header (cabecera de respuesta)

Campo de cabecera Si­g­ni­fi­ca­do Ejemplo
Accept-Ranges Cuáles son las unidades que el servidor acepta para las es­pe­ci­fi­ca­cio­nes del rango (ver arriba) Accept-Ranges: bytes
Age Número de segundos que el objeto ha estado en el cache Age: 2300
Allow Tipos de solicitud pe­r­mi­ti­dos para un recurso es­pe­cí­fi­co Allow: GET, POST, HEAD
Cache-Control Si y cuánto tiempo se puede mantener el objeto en el cache Cache-Control: max-age=4800
Co­n­ne­c­tion Tipo de conexión pre­fe­re­n­te Co­n­ne­c­tion: close
Content-Encoding Tipo de co­di­fi­ca­ción Content-Encoding: deflate
Content-Language Idioma del contenido Content-Language: de-DE
Content-Length Tamaño del cuerpo en bytes Content-Length: 135674
Content-Location Ubicación del archivo si proviene de un lugar diferente al so­li­ci­ta­do (por ejemplo, CDN) Content-Location: /ejemplo.es
Content-Security-Policy Políticas de seguridad del servidor Content-Security-Policy: frame-src 'none‘; object-src 'none‘
Content-Type Tipo MIME del archivo so­li­ci­ta­do Content-Type: text/tml; charset=utf-8
Date Tiempo de la respuesta Date: Mon 2 Mar 2020 1:00:00 GMT
ETag Marca una versión es­pe­cí­fi­ca del archivo ETag: „vt6789oi8uztgfvbn“
Expires Cuándo el archivo debe ser co­n­si­de­ra­do obsoleto Expires: Tue 3 Mar 2020 1:00:00 GMT
Last-Modified Hora de la última mo­di­fi­ca­ción del archivo Last-Modified: Mon 2 Mar 2020 1:00:00 GMT
Location Ide­n­ti­fi­ca el lugar al que se envió la solicitud Location: https://www.ejemplo.es
Proxy-Au­the­n­ti­ca­te Dice si el cliente debe au­te­n­ti­car­se al Proxy y cómo debe hacerlo Proxy-Au­the­n­ti­ca­te: Basic
Retry-After A partir de cuándo el cliente debe reenviar la solicitud si el recurso no está di­s­po­ni­ble te­m­po­ra­l­me­n­te (fecha o segundos) Retry-After: 300
Server Ide­n­ti­fi­ca­ción del servidor Server: Apache
Set-Cookie Establece una cookie en el cliente Set-Cookie: UserID=XY; Max-Age=3800; Version=1
Transfer-Encoding Método de co­di­fi­ca­ción Transfer-Encoding: gpzip
Vary Indica qué campos de cabecera deben co­n­si­de­rar­se variables si se solicita un archivo del cache. Vary: User-Agent (=el servidor tiene pre­pa­ra­das di­fe­re­n­tes versiones de archivos de­pe­n­die­n­do del User Agent)
Via A través de qué proxies se envió la respuesta. Via: 1.1www.ejemplo.es
Ir al menú principal