mnot’s blog

Design depends largely on constraints.” — Charles Eames

Wednesday, 27 November 2002

Mozilla Prefetching

Filed under: Web

I’m extremely wary about the new prefetching feature in Mozilla. The Web caching community has tried this from about every angle, but the general consensus of professionals (with one notable exception) is that prefetching is a bad approach.

For one thing, it assumes free bandwidth; not such a hot idea in a lot of places (e.g., Australia, where you pay per Mb).

I’ve also had network and server administrators calling me in a panic because they’re being flooded with requests from a single machine - whoops.

Prefetching is generally pretty antisocial; it says “my browsing experience is so important, damn your network, damn your servers, I’m getting it all!”

This doesn’t mean that it isn’t of great interest to the research community, of course; go to any caching-related conference and you’ll see earnest proposals for prefetching (along with yet more hyper-optimised replacement algorithms… sigh).

Specifically, I’m concerned that the Mozilla implementation won’t fare any better; in one way, it’s better that it uses explicit prefetching hints (rather than some “optimized” algortithm… I hate heuristics), but OTOH it’s horrible; this is ripe for abuse by over-zealous webmasters. I wonder how long it’ll be before we see a demo of a DOS attack based on this…

Also, not providing a preference UI to control this isn’t so bright; Mozilla has matured past the “world is my debugger” stage, at least in this respect. There are legitimate reasons for turning this off; in fact, I think there’s a strong argument for turning this off by default.


4 Comments

Aaron Swartz said:

Servers are cheap, bandwidth it cheap, but human time is still precious.

Wednesday, November 27 2002 at 10:51 AM

Aaron Swartz said:

Maybe prefetches should have a Priority: prefetch status so that servers can drop them if they need to.

Tuesday, December 3 2002 at 10:36 AM

Martin Kliehm said:

I’m familiar with the HTML specification link types, and I think it’s a great idea to implement them.

Though there is no need for ‘rel=”prefetch”’ - I think the current link types are sufficient. In fact I think the other link types should be included in the Mozilla prefetching mechanism, not just “next”. “prefetch” should be dumped.

But I disagree in prefetching all anchor tags because that would put a lot of traffic on websites, also it will ruin users who pay by kilobyte. Also that’s probably a bad idea with mobile devices in mind.

Tuesday, February 18 2003 at 8:31 AM

Creative Commons