Cabeceras HTTP más comunes
La web funciona bajo el protocolo HTTP.
El navegador web utiliza este protocolo para comunicarse con el servidor Web donde está alojada la web, en este caso, tu blog WordPress.
Cada petición HTTP que el navegador realiza al servidor, se divide en 2 partes:
- Las cabeceras (Headers).
- El cuerpo de la respuesta (Response body).
En el cuerpo de la respuesta está el código HTML, CSS, Javascript, etc.. necesario para que la web se vea y funcione, es decir, lo que puedes ver pulsando con el botón derecho del ratón sobre la web, y pulsando sobre el botón “View Source”, o “Ver código fuente”.
Pero además, tanto el navegador como el servidor, en cada petición, envían unas cabeceras que sirven para configurar diversos comportamientos, o simplemente para dejar alguna marca con información.
A continuación se muestra un ejemplo de dialogo HTTP:
Nuestro navegador hace una consulta al servidor, preguntando por la web http://www.example.com/index.html :
Petición de nuestro navegador:
GET /index.html HTTP/1.1 Host: www.example.com User-Agent: nombre-cliente [Línea en blanco]
El servidor responde a nuestra petición
HTTP/1.1 200 OK Date: Fri, 31 Dec 2003 23:59:59 GMT Content-Type: text/html Content-Length: 1221 <html> <body> <h1>Página principal de tuHost</h1> (Contenido) . . . </body> </html>
Esto sería una respuesta del servidor con código HTML, lo que hay a partir de la etiqueta <html> sería el response body, mientras que lo que hay antes de esa etiqueta son las cabeceras.
Cabeceras HTTP:
HTTP/1.1 200 OK Date: Fri, 31 Dec 2003 23:59:59 GMT Content-Type: text/html Content-Length: 1221
Respuesta:
<html> <body> <h1>Página principal de tuHost</h1> (Contenido) . . . </body> </html>
En este caso, en la respuesta del servidor, se pueden apreciar las cabeceras:
Date: Fri, 31 Dec 2003 23:59:59 GMT Content-Type: text/html Content-Length: 1221
Que en este caso indicarían:
- Cabecera Date: Indica la fecha y hora exacta a la que el servidor ha realizado la respuesta para que conste (la hora del servidor).
- Content-type: El Tipo Mime de la respuesta (en caso de que sea una respuesta), o del contenido subido vía POST/PUT (en caso de que sea una Request)
- Content-Length: El tamaño de la respuesta en octetos (8 bits)
Como podréis observar, leyendo el protocolo HTTP se puede sacar información muy útil. Además, cada plugin puede añadir sus propias cabeceras a la respuesta de WordPress. A continuación vamos a presentar un listado con las cabeceras más habituales, y algunas que no lo son tanto:
Cabeceras HTTP más habituales
- Server: indica el tipo de servidor HTTP empleado.
- Age: indica el tiempo que ha estado el objeto servidor almacenado en un proxy cache (en segundos)
- Cache-control: lo usa el servidor para decirle al navegador que objetos cachear, durante cuanto tiempo, etc..
- Content-Encoding: se indica el tipo de codificación empleado en la respuesta
- Expires: indica una fecha y hora a partir del cual la respuesta HTTP se considera obsoleta. Usado para gestionar caché.
- Location: usado para especificar una nueva ubicación en casos de redirecciones.
- P3P: se usa para especificar el tipo de política de privacidad empleado en la web. No está muy extendido.
- Set-Cookie: sirve para crear cookies. Las famosos cookies viajan entre el servidor y el navegador a través de estas cabeceras HTTP.
Existen otras cabeceras no estándar como:
- X-Powered-by: usado para especificar con que software se ha generado la respuesta por parte del servidor. Algunos plugins de WordPress como W3 Total Cache añade su propia cabecera X-Powered-By.
- X-Pingback: Cabecera HTTP que añade WordPress donde especifica la dirección de pingback del blog.
Algunos ejemplos de cabeceras no comunes:
X-Powered-By: PHP/5.2.6-2ubuntu4.2 X-Pingback: http://www.example.org/xmlrpc.php
Como se puede observar, es fácil obtener información leyendo las cabeceras HTTP.
Autor: Jonathan Martinez Aradillas.