prefetching attribute (WAS Re: two ideas...)

William F. Hammond (hammond@csc.albany.edu)
Mon, 18 Dec 1995 10:39:03 -0500 (EST)


(Actually, there is one place where I think that prefetching is
constructive: the information consumer asks for 100 search hits and
the server spits them out in a series of 10 pages of 10 hits each.
But then the client should stay only one page ahead of the user.)

Brian Behlendorf <brian@organic.com> writes:

> ...
> 2) Control of prefetching by the server. ...
> ... The content provider needs some way of saying,
> it would seem, that they're not interested in having each element
> pre-fetched. Perhaps as an attribute to <A>? I don't have an easy
> answer to this one.

I think that the attribute idea is the answer.

It is important to put the information provider in control of the question
of prefetching permission. (Prefetching would never be required. But
BTW it would be nice to see a client where the user could select an anchor
for background fetching while the current page is being viewed.)

Let's think about adding "prefetch" as an attribute to (1) the anchor
element and also to (2) the base element with two values: either

prefetch="yes"
or
prefetch="no"

with default value = "no" .

Clients would never prefetch without permission.

Putting prefetch="no" in the base element of a page would turn off
pre-fetching for the page. This should not be necessary in view of
the previous statement. However, it would be provided to overrule
occurrences of prefetch="yes" in anchors generated by robots.

Putting prefetch="yes" in the base element of a page would permit
pre-fetching of any anchor that is not marked prefetch="no" pointing
to the same server (taken to be the href value of the base element, if
present).

It would usually not be polite to use prefetch="yes" in a pointer to
an information resource not controlled by the author of the page.

Thus a client could prefetch an item when the pointer to it says "yes"
provided that the base does not say "no" OR when the pointer has no
prefetch marking and the base says "yes" and the item is on the base
server.

Of course, this is the honor system. IMHO prefetching permission is
essential to avoid a future scenario of defensive screening by busy
servers of incoming requests.

Think carefully about putting prefetching in your client. And if you
do, give your user a switch to turn it off right next to the switch
to turn off autoloading of images. And think about giving your
user a means to select an anchor for background loading while the
current page is being browsed.

-- Bill

----------------------------------------------------------------------
William F. Hammond Dept. of Mathematics & Statistics
518-442-4625 The University at Albany
hammond@math.albany.edu Albany, NY 12222 (U.S.A.)
http://math.albany.edu:8000/~hammond/ FAX: 518-442-4731
----------------------------------------------------------------------