Google incorpora tecnología prefetch de Mozilla
Leo en dirson que Google acaba de incorporar una funcionalidad que ofrecen los navegadores basados en Mozilla mediante la cual es posible realizar un prefetch de páginas web. Esto significa básicamente que mientras vemos una página web y aprovechando tiempos muertos de nuestro ordenador, el navegador aprovecha para ir descargando por detrás otras páginas de forma que cuando queramos acceder a ellas ya las tengamos descargadas.
Para que nuestro navegador sea capaz de realizar el prefetch la página que estemos visitando debe indicarle de qué páginas debe hacerlo. Para ello la gente de Mozilla utiliza la etiqueta link
. De esta forma una línea como la siguiente haría que mientras estamos en la página el navegador cargue por detrás la home de Google.
<link rel="prefetch" href="http://www.google.com"> |
Cuando hacemos búsquedas en Google lo más habitual es acceder al primer resultado, por lo que Google le ha incorporado un prefetch
, de forma que mientras vemos la página de Google por detrás se nos carga la primera. Esto hace que la navegación sea algo más rápida si queremos entrar a esa página, pero por otro lado tiene una serie de inconvenientes bastante serios.
Desde el punto de vista de ancho de banda se va a desperdiciar cada vez que no entremos en el primer resultado, tanto desde el punto de vista del cliente como del servidor, con el consiguiente gasto económico. Aparte hay que tener en cuenta que por ejemplo se producirán impresiones publicitarias «no reales», ya que aunque nuestro sistema de publicidad genere el html de la campaña y contabilice la impresión, el banner puede ser que no lo vea el usuario finalmente.
En lo que respecta al seguimiento de la audiencia de los webs esta característica también añade una mayor complejidad. Es posible saber si una página se ha solicitado mediante un prefetch mirando si nos ha llegado la cabecera X-moz: prefetch
, pero lo que no podemos saber es si finalmente se ha visto o no, con lo que su utilización desvirtuaría los resultados.
Por último, aunque la técnica se base en la etiqueta link
y en un uso correcto según el W3C, esta característica no deja de ser no estándar, por mucho que la haya propuesto Mozilla y mucha simpatía que le tengamos.
Por mi parte aunque me parece una idea con ciertas ventajas considero que la lista de inconvenientes es significativamente mayor, por lo que tengo pensado configurar mis servidores para que rechacen este tipo de peticiones. Para ello según indica Google, hay que configurar el servidor Web para que devuelva una respuesta 404 a todas aquellas peticiones que incluyan la cabecera X-moz: prefetch
Más información:
Una forma de generar una respuesta 404 ante una petición prefetch es usando el módulo de Rewrite. Mediante este módulo se detecta la cabecera «X-moz: prefetch» y, en caso de que esté presente, se redirige esa petición a una página de 404:
RewriteEngine on
RewriteCond %{HTTP:X-moz} ^prefetch*
RewriteRule (.*) /404.php [R=302]
La redirección se indica con código 302, es decir, redirección temporal, ya que si no el navegador podría entender que ese url que está intentando obtener ya no está funcionando ni se puede acceder a él de ninguna forma.
Así mismo, esta configuración hay que añadirla en cada uno de los <VirtualHost>, ya que no funciona de forma global.