¿Cómo evitar el link prefetching desde PHP?
El Link prefetching (carga anticipada de documentos enlazados) es un mecanismo utilizado por algunos navegadores que utilizan el tiempo muerto para automática y silenciosamente descargar y guardar en caché documentos que podrían ser visitados por el usuario en un futuro cercano. De esta forma cuando el usuario visita una de las páginas precargadas estas pueden ser servidas rápidamente desde el caché del navegador.
Si bien esto es muy bueno para muchos usuarios disminuyéndoles el tiempo de respuesta de los navegadores también hay que tener en cuenta aspectos muy criticables como son:
- Uso indebido del ancho de banda, sobre todo para aquellos que pagan según el tráfico y están descargando páginas que nunca visitarán.
- Webmasters que pagan por tráfico entrante a sus páginas, pagarían por visitas que nunca se realizaron. Similar ocurre con los banners publicitarios.
- Las estadísticas de los sitios se pueden ver afectadas.
Entre los navegadores que hacen link prefetching tenemos: Fasterfox (extensión de firefox), todos los navegadores basados en Mozilla, Google Web Acelerador así como Opera con Page Prefetcher instalado.
Para evitar el link prefetching debemos rechazar los pedidos que incluyan el header x-moz generando un error 404. Desde PHP debemos escribir estas líneas al inicio de cada página:
if (!empty($_SERVER['HTTP_X_moz']) && $_SERVER['HTTP_X_moz'] === 'prefetch') {
header($_SERVER['SERVER_PROTOCOL'] . ' 404 Prefetch Forbidden');
trigger_error('Prefetch request forbidden.');
exit;
}
http://webaccelerator.google.com/webmasterhelp.html#prefetch11
http://fasterfox.mozdev.org/faq.html#Im_a_webmaster,_how_can_I_prevent_prefetching

06.01.2007 a las 12:34 pm
Interesantísimo post, Alfredo.
¡¡Bienvenido al Team!!
06.01.2007 a las 1:16 pm
Muy buena. Habrá que idea lo mismo para las galerías de fotos
06.01.2007 a las 2:17 pm
Pero que gran fichaje para BdW… increíble joya
ánimo cuban! un abrazo y suerte!.
06.01.2007 a las 7:54 pm
Gracias a todos por sus comentarios, espero no defraudarlos eMe :P.
Javi de hecho ya hay muchas galerías que se aprovechan del link prefetching como Web Album Generator que si se fijan en el codigo HTML del demo demo utilizan
para precargar la siguiente image que es la que se supone que visitará el usuario en el siguiente click.