Today I read on Micah Dubinko’s weblog that Google now adds a link element with a rel=”prefetch” attribute for the first hit on certain search result pages so that Firefox will pull that page into its cache as you look at the search results. This way, when you follow the link, the page appears faster. Try a View Source on this page for an example.
First, I thought “there goes Google coming up with another use for the rel attribute, as they have before.” Then, I found out that it’s a Mozilla innovation that Google is taking advantage of.
With my markup purist hat on, I’m not crazy about the idea. The rel attribute is supposed to describe a relationship between the linking resource and the resource it links to; it’s not supposed to be a catch-all slot for whatever people want to add, especially if they want to add an instruction for a particular application to execute a particular action. The HTTP header is a better place for this, and to be fair, the FAQ that I link to above describes how the browser will check there for prefetching instructions as well.
To be practical, most people have more control over the markup in their web pages than over the HTTP headers sent with those pages. (The markup purist hat is not something to wear all the time, but it is something to keep within reach when discussing design issues.) I tried creating a web page that used this trick to link to a bloated page, but despite many cycles of clearing my cache, checking my prefs.js file, and tweaking the markup (moving the link element from the web page’s body to its head, etc.), I couldn’t put together something that demonstrated the difference it’s supposed to make from either Firefox 1.0 or Mozilla 1.6. If Google is using it, someone who knows what they’re doing must have figured it out, so those of us who follow advances in linking technology should still take it seriously.