¿Qué es y cómo ver el http referrer?

¿Qué es el referrer?

Cuando estamos en una web y vamos a otra a través de un enlace, la web de destino puede conocer desde qué web vienes gracias al la una variable de las cabeceras que se envían cliente y servidor llamada “referrer“. Es una propiedad de los protocolos http y https de las muchas se envían en las cabeceras de la petición del cliente. Es decir, el referrer lo envía el navegador del cliente, no el servidor.

¿Cómo ver el referrer

  1. La forma más sencilla es crearse un marcador en tu navegador con la sentencia “javascript:alert(document.referrer)”.
  2. Con la variable “$_SERVER[“HTTP_REFERER”]” de PHP.
  3. Con mil y una extensiones para tu navegador, chrome, firefox, etc

¿Cómo funciona?

Os dejo un vídeo de Miguel Pascual donde explica un poco más los diferentes tipos de cabeceras:

Por lo tanto, nosotros como administradores de la máquina, podríamos cambiar el referrer de nuestros navegadores sin demasiados problemas. En la Wikipedia explican más acerca de esta cabecera, por si queréis profundizar.

Seguimos, según la definición del RFC 2616 del protocolo HTTP 1.1 (un RFC son documentos que estandarizan el funcionamiento de Internet y que desarrolla un organismo internacional llamado IETF) cuando se pasa de una conexión segura (https) a una (http) no se debe pasar referrer. Y hasta hace unos meses nunca se pasaba, fíjaos que hablo en pasado y ahora explico por qué.

La Teoría del HTTP Referrer hasta hace unos meses era:

  • http -> http: se pasa referrer
  • http -> https: se pasa referrer
  • https -> http: no se pasa referrer
  • https -> https: se pasa referrer

Sin embargo, había muchos intereses en que el referrer se mantuviese cuando pasamos desde páginas https hacia http. Sin ir más lejos las grandes redes sociales y buscadores comenzaron hace años a servir sus páginas bajo https:// y son los principales interesados en que los dueños de los sitios web viésemos cuánto tráfico nos genera twitter, facebook, google, bing, yahoo, etc. Todos ellos sirviéndose como hemos dicho bajo https://. ¿Cómo lo lo hacen? De 2 formas:

referrer en https

1º) Usando redirectores intermedios bajo http.
En lugar de enviar directamente al usuario que hace click en un enlace de una página de resultados de google o de facebook  al destino final, lo envían a una URL intermedia bajo http, con lo cual se mantiene el referrer.

En el momento de escribir este artículo tenemos estos redirectores:

  • Google: http://www.google.es/url?
  • Yahoo!: http://r.search.yahoo.com
  • Twitter: href=”http://t.co/_url acortada
  • Facebook: http://l.facebook.com/l.php?u=http://url…

2º) Mediante la meta_referrer.
Mediante esta meta etiqueta que se pone en la cabecera del HTML  podemos forzar a los navegadores compatibles con la meta etiqueta, a pasar el referrer incluso cuando pasamos de conexiones https a http. Para los que quieran profundizar en el funcionamiento de la etiqueta, os recomiendo este artículo de smerety.com. La etiqueta apareció en 2011, ahora solo era cuestión de esperar a que los navegadores fuesen teniendo soporte para la etiqueta para que lo se pudiese hacer el cambio definitivo y total a https:// sin tener que usar redirectores intermedios bajo http.

3 opiniones en “¿Qué es y cómo ver el http referrer?”

  1. Me ha gustado mucho la explicación: clara y sencilla.
    Estoy haciendo el curso de SEO de David Juan de Gestoservicios.
    Procurare volver a tu web javier para ver mas artículos.
    Mis felicitaciones por tu web.

  2. Javier como te va?

    Javier hay alguna manera de cambiar ese referrer por otro? Es decir, yo estoy re direccionando de una landing a otra ubicada en otro dominio y necesitaría que la fuente de trafico fuera marcada como “Facebook” Twitter” o si no es posible otra URL.

    Quedo a la espera de tu respuesta, te envío un saludo.

  3. Hola Jorge

    No, “no se puede”. Es un dato que genera el navegador del usuario y no puedes modificar el del resto de los usuarios, solo podría cada usuario modificar el suyo propio.

    Un saludo

Deja un comentario