Link prefetching
Encyclopedia
Link prefetching is a proprietary syntax to give web browsers a hint about documents that it should pre-fetch because the user might visit them in the near future. It is proposed as a draft internet standard by Mozilla. A web page provides a set of prefetching hints to the browser, and after the browser is finished loading the page, and after an idle time has passed, it begins silently prefetching specified documents, storing them in its cache. When the user visits one of the prefetched documents, it can be served up quickly out of the browser's cache.
As prefetching is an Internet Draft standard, examples of prefetching can be divided into standard compliant and non-compliant:
have announced work on an Internet Draft, that will match the implementation in Firefox
.
Additionally, there are a number of criticisms regarding the privacy and resource usage implications of link prefetching:
As prefetching is an Internet Draft standard, examples of prefetching can be divided into standard compliant and non-compliant:
HTML5 prefetching
Prefetching is not currently explicitly defined by any accepted standards, but MozillaMozilla
Mozilla is a term used in a number of ways in relation to the Mozilla.org project and the Mozilla Foundation, their defunct commercial predecessor Netscape Communications Corporation, and their related application software....
have announced work on an Internet Draft, that will match the implementation in Firefox
Mozilla Firefox
Mozilla Firefox is a free and open source web browser descended from the Mozilla Application Suite and managed by Mozilla Corporation. , Firefox is the second most widely used browser, with approximately 25% of worldwide usage share of web browsers...
.
Other prefetching
It is possible for implementations to prefetch links even when they are not specified as prefetch links.- FasterfoxFasterfoxFasterfox is a Mozilla Firefox extension that provides an interface to tweak some performance related settings such as browser network connection, cache, timings, as well as provide an optional controversial feature which forces Link prefetching. These changes can decrease page loading time...
has an option to enable the prefetching of all page links by the browser.
Browser support
- iCabICabiCab is a web browser for the Macintosh by Alexander Clauss, derived from Crystal Atari Browser for Atari TOS compatible computers. It is the most recently actively developed browser for 68k-based Macintoshes that features tabbed browsing and one of a very few browsers that was still updated in...
was the first browser (February 2001 or earlier http://lists.webjunction.org/wjlists/web4lib/2001-February/005076.html) to support prefetching - Mozilla Application SuiteMozilla Application SuiteThe Mozilla Application Suite is a cross-platform integrated Internet suite. Its development was initiated by Netscape Communications Corporation, before their acquisition by AOL. It is based on the source code of Netscape Communicator...
and its derivatives (Firefox etc.) - the first browser to support prefetching per the Internet Draft. - Browsing using a Google Web AcceleratorGoogle Web AcceleratorGoogle Web Accelerator was a web accelerator produced by Google. It used client software installed on the user's computer, as well as data caching on Google's servers, to speed up page load times by means of data compression, prefetching of content, and sharing cached data between users...
(discontinued product, may technically be called precaching) - The Blue CoatBlue Coat SystemsBlue Coat Systems Inc. is a network security and network management company based in Sunnyvale, California, United States.It identifies itself as an application delivery network specialist...
proxy appliance is known to use non compliant prefetching - Internet ExplorerInternet ExplorerWindows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...
supports prefetching of IP addresses through DNSDomain name systemThe Domain Name System is a hierarchical distributed naming system for computers, services, or any resource connected to the Internet or a private network. It associates various information with domain names assigned to each of the participating entities...
, as of version 9: Page-initiated Pre-resolution
Sites using prefetching
Notable sites include:- Google is the first well-known websiteWebsiteA website, also written as Web site, web site, or simply site, is a collection of related web pages containing images, videos or other digital assets. A website is hosted on at least one web server, accessible via a network such as the Internet or a private local area network through an Internet...
that takes advantage of this feature so as to improve the user experience. If the first hit is considered very probable to be the desired hit, it is assigned as a prefetchable link. - Web Album Generator is a free program that creates photo albums which use link prefetching.
Issues and criticisms
An issue inherent to indiscriminate link prefetching involves the misuse of "safe" HTTP methods. The HTTP GET and HEAD requests are said to be "safe", i.e., a user agent that issues one of these requests should expect that the request results in no change on the recipient server. However, it's not uncommon for website operators to use these request outside of this constraint. Plain hyperlinks (which almost universally result in GET requests) are often used to implement logout functionality and account verification, e.g., when a user completes an account creation form, and an automated service sends a verification e-mail to the user's given e-mail address. Similarly, it is entirely possible for a hosting service to provide a Web front end to manage files, including links that delete one or more files. Users who visit pages with these types links while an indiscriminate link prefetcher is employed might find that they are logged out or their files have been deleted.Additionally, there are a number of criticisms regarding the privacy and resource usage implications of link prefetching:
- Users and website operators who pay for the amount of bandwidth they use find themselves paying for traffic for pages the user might not actually visit, and advertisers might pay for viewed ads on sites that are never visited.
- Web statistics such as browser usage, search engine referers, and page hits may become less reliable due to registering page hits that were never seen by the user.
- Users may be exposed to more security risks - by downloading more pages, or from un-requested sites (additionally compounded as drive-by downloads become more advanced and diverse).