Articulo de referencia

Referencia HTTP

En HTTP , " Referer " (una errata de " Referrer " [ 1 ] ) es un campo de encabezado HTTP opcional que identifica la dirección de la página web (es decir, la URI o IRI ) desde la...

En HTTP , " Referer " (una errata de " Referrer " [ 1 ] ) es un campo de encabezado HTTP opcional que identifica la dirección de la página web (es decir, la URI o IRI ) desde la que se solicitó el recurso. Al verificar el referrer, el servidor que proporciona la nueva página web puede ver de dónde se originó la solicitud.

En la situación más común, esto significa que cuando un usuario hace clic en un hipervínculo en un navegador web , lo que provoca que el navegador envíe una solicitud al servidor que contiene la página web de destino, la solicitud puede incluir el campo Referer , que indica la última página en la que estuvo el usuario (aquella en la que hizo clic en el enlace).

Los sitios web y los servidores web registran el contenido del campo Referer recibido para identificar la página web desde la que el usuario siguió un enlace, con fines promocionales o estadísticos. Esto implica una pérdida de privacidad para el usuario y puede introducir un riesgo de seguridad . [ 2 ] Para mitigar los riesgos de seguridad, los navegadores han estado reduciendo progresivamente la cantidad de información enviada en Referer. Desde marzo de 2021, por defecto Chrome , [ 3 ] Edge basado en Chromium , Firefox , [ 4 ] Safari [ 5 ] envían por defecto solo el origen en las solicitudes de origen cruzado, eliminando todo excepto el nombre de dominio.

Etimología

La ortografía incorrecta de referrer se introdujo en la propuesta original del científico informático Phillip Hallam-Baker para incorporar el campo de encabezado "Referer" en la especificación HTTP . [ 6 ] [ 7 ] La ortografía incorrecta quedó establecida para cuando (mayo de 1996) se incorporó al documento de estándares de la Solicitud de Comentarios RFC 1945 [ 8 ] (que "refleja el uso común del protocolo conocido como 'HTTP/1.0 ' " en ese momento); el coautor del documento, Roy Fielding, comentó en marzo de 1995 que "ninguna de las dos ( referer o referrer) es comprendida por" el corrector ortográfico estándar de Unix de la época. [ 9 ] Desde entonces , "Referer" se ha convertido en una ortografía ampliamente utilizada en la industria al hablar de referrers HTTP; sin embargo, el uso de la ortografía incorrecta no es universal, ya que la ortografía correcta "referrer" se utiliza en algunas especificaciones web, como el Referrer-Policyencabezado HTTP o el Modelo de Objeto de Documento . [ 2 ]

Detalles

Al visitar una página web, el referente o página de referencia es la URL de la página web anterior desde la que se siguió un enlace.

En términos más generales, un referrer es la URL de un elemento anterior que dio lugar a esta solicitud. Por ejemplo, el referrer de una imagen suele ser la página HTML en la que se mostrará. El campo referrer es una parte opcional de la solicitud HTTP que el navegador web envía al servidor web. [ 10 ]

Muchos sitios web registran los referentes como parte de su intento de rastrear a sus usuarios . La mayoría del software de análisis de registros web puede procesar esta información. Dado que la información del referente puede violar la privacidad , algunos navegadores web permiten al usuario deshabilitar el envío de dicha información. [ 11 ] Algunos programas de proxy y cortafuegos también filtran la información del referente para evitar la filtración de la ubicación de sitios web no públicos. Esto, a su vez, puede causar problemas: algunos servidores web bloquean partes de su sitio web a los navegadores web que no envían la información de referente correcta, en un intento de prevenir el enlace profundo o el uso no autorizado de imágenes ( robo de ancho de banda ). Algunos programas de proxy tienen la capacidad de proporcionar la dirección de nivel superior del sitio web de destino como referente, lo que reduce estos problemas, pero aún puede, en algunos casos, revelar la última página web visitada por el usuario.

Muchos blogs publican información de referencia para enlazar a quienes enlazan a ellos y, de esta forma, ampliar la conversación. Esto ha dado lugar, a su vez, al auge del spam de referencia : el envío de información de referencia falsa para popularizar el sitio web del remitente.

Es posible acceder a la información de referencia en el lado del cliente usando document.referrer en JavaScript . [ 12 ] Esto se puede usar, por ejemplo, para personalizar una página web según la consulta de búsqueda del usuario. Sin embargo, el campo de referencia no siempre incluye palabras clave de búsqueda, como cuando se usa la Búsqueda de Google con HTTPS. [ 13 ]

Ocultamiento del referente

La mayoría de los servidores web mantienen registros de todo el tráfico y registran la URL de referencia HTTP enviada por el navegador para cada solicitud. Esto plantea varias preocupaciones sobre la privacidad, por lo que se han desarrollado diversos sistemas para evitar que los servidores web reciban la URL de referencia real. Estos sistemas funcionan borrando el campo de referencia o reemplazándolo con datos inexactos. Generalmente, las suites de seguridad de Internet borran los datos de referencia, mientras que los servidores web los reemplazan con una URL falsa, normalmente la suya propia. Esto genera el problema del spam de referencia. Los detalles técnicos de ambos métodos son bastante similares: las aplicaciones de software actúan como un servidor proxy y manipulan la solicitud HTTP, mientras que los métodos web cargan los sitios web dentro de marcos, lo que provoca que el navegador envíe una URL de referencia con la dirección de su sitio web. Algunos navegadores web ofrecen a sus usuarios la opción de desactivar los campos de referencia en el encabezado de la solicitud. [ 11 ]

La mayoría de los navegadores web no envían el campo referrer cuando se les indica que redirijan mediante el campo "Actualizar". Esto no incluye algunas versiones de Opera ni muchos navegadores web móviles. Sin embargo, el Consorcio World Wide Web (W3C) desaconseja este método de redirección . [ 14 ]

Si se accede a un sitio web desde una conexión HTTP segura (HTTPS) y un enlace apunta a cualquier lugar que no sea otra ubicación segura, entonces el campo referrer no se envía. [ 10 ]

El estándar HTML5 añadió soporte para el atributo/valor rel="noreferrer", que indica al agente de usuario que no envíe un referrer. [ 15 ]

Otro método para ocultar el referente consiste en convertir la URL del enlace original en una URL basada en el esquema Data URI que contenga una pequeña página HTML con una meta actualización a la URL original. Cuando el usuario es redirigido desde la data:página, el referente original queda oculto.

La versión 1.1 del estándar de Política de Seguridad de Contenido introdujo una nueva directiva referrer que permite un mayor control sobre el comportamiento del navegador con respecto al encabezado referrer. Específicamente, permite al administrador web indicar al navegador que no bloquee el referrer en absoluto, que lo muestre solo cuando se mueva con el mismo origen, etc. [ 16 ]

Referencias

  1. Gourley, David; Totty, Brian; Sayer, Marjorie; Aggarwal, Anshu; Reddy, Sailu (27 de septiembre de 2002). HTTP: La guía definitiva . O'Reilly Media, Inc. ISBN 9781565925090.
  2. 1 2 "¿Tiene su sitio web una fuga?" . Blog de ICO . 16-09-2015. Archivado del original el 24-05-2018 . Recuperado el 16-08-2018 .
  3. "Política de referencia: Predeterminado a strict-origin-when-cross-origin - Estado de la plataforma Chrome" . www.chromestatus.com . Consultado el 23 de marzo de 2021 .
  4. Lee, Dimi; Kerschbaumer, Christoph (22 de marzo de 2021). "Firefox 87 recorta los referrers HTTP por defecto para proteger la privacidad del usuario" . Blog de seguridad de Mozilla . Consultado el 23 de marzo de 2021 .
  5. Wilander, John (10 de diciembre de 2019). "Prevención del rastreo Prevención del rastreo" . Blog de WebKit .
  6. Hallam-Baker, Phillip (21 de septiembre de 2000). "Re: ¿Es Al Gore el padre de Internet?" . Grupo de noticias : alt.folklore.computers . Consultado el 20 de marzo de 2013 . 
  7. Hallam-Baker, Phillip. "Re: Referer: (sic)" . Archivos de la lista de correo pública del W3C . Archivado del original el 19 de febrero de 2024. Consultado el 19 de febrero de 2024 .
  8. Berners-Lee, T. ; Fielding, R. ; Frystyk, H. (mayo de 1996). Protocolo de transferencia de hipertexto -- HTTP/1.0 . IETF . doi : 10.17487/RFC1945 . RFC 1945 .
  9. Fielding, Roy (1995-03-09). "Re: referer: (sic)" . ietf-http-wg-old (Lista de correo) . Recuperado el 2013-03-20 .
  10. 1 2 Fielding, R.; Reschke, J. (junio de 2014). Fielding, R.; Reschke, J. (eds.). Protocolo de transferencia de hipertexto (HTTP/1.1): semántica y contenido: referrer (RFC 7231 § 5.5.2) . IETF. sec. 5.5.2. doi : 10.17487/RFC7231 . S2CID 14399078. RFC 7231. Recuperado el 26 de julio de 2014 .  
  11. 1 2 "Network.http.sendRefererHeader" . MozillaZine . 10 de junio de 2007. Consultado el 27 de mayo de 2015 .
  12. "Propiedad referrer del documento DOM HTML" . W3Schools . Consultado el 20 de marzo de 2013 .
  13. Gundersen, Bret (19 de octubre de 2011). "El impacto de la búsqueda cifrada de Google" . Blog de marketing digital de Adobe . Consultado el 17 de marzo de 2021 .
  14. "Técnicas HTML para las Pautas de Accesibilidad al Contenido Web 1.0: El elemento META" . W3C . 6 de noviembre de 2000. Consultado el 20 de marzo de 2013 .
  15. "4.12 Enlaces — HTML Living Standard: 4.12.5.8 Tipo de enlace "noreferrer"" . WHATWG . 19-02-2016 . Consultado el 19-02-2016 .
  16. "Política de seguridad de contenido de nivel 2" . W3. 2014. Consultado el 8 de diciembre de 2014 .
  • RFC 1945 : Protocolo de transferencia de hipertexto -- HTTP/1.0 
  • RFC 7231 : Protocolo de transferencia de hipertexto (HTTP/1.1): Semántica y contenido 
  • RFC 3987 : Identificadores de recursos internacionalizados (IRI) 
  • Política de referencias - Borrador del editor del W3C