BrowseAtWork.com:   [ UP ]   [Manage cookies]

Link prefetching

From Wikipedia, the free encyclopedia

Jump to: navigation, search

Link prefetching is a draft standards compliant mechanism used by some web browsers, which uses browser idle time to download or prefetch documents that the user might visit in the near future. 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:

Contents

[edit] HTML5 prefetching

Prefetching is not currently explicitly defined by any accepted standards, but Mozilla have announced work on an Internet Draft, that will match the implementation in Firefox[1].

<link rel="prefetch" href="http://www.example.com/">

[edit] Other prefetching

It's possible for implementations to prefetch links even when they are not specified as prefetch links.

  • Fasterfox has an option to enable the prefetching of all page links by the browser.

[edit] Browser support

[edit] Sites using prefetching

Notable sites include:

  • Google is the first well-known website 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.

[edit] 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.[2] 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.[3]

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).
  • Web providers may find themselves at liability of third-party content outside of their domain that could be hot-swapped, however search engines have made it heavily accepted that one should have no liability of what one links to, and this is only slightly different through making it more mandatory that one gets the links content.[more information requested]

[edit] See also

[edit] Notes

  1. ^ "Link Prefetching FAQ". http://developer.mozilla.org/en/docs/Link_prefetching_FAQ#Is_link_prefetching_standards_compliant.3F. Retrieved 2007-03-23. 
  2. ^ Fielding, Roy; Gettys, Jim; Mogul, Jeffrey; Frystyk, Henrik; Masinter, Larry; Leach, Paul; Berners-Lee, Tim (June 1999). "Safe Methods" (HTML). Hypertext Transferr Protocol—HTTP/1.1. Network Working Group. IETF. p. 50. sec. 9.1.1. RFC 2616. Archived from the original on 12-16-2009. http://www.webcitation.org/5m4a7sCtr#section-9.1.1. Retrieved 2009-12-16. 
  3. ^ various (2009). "Mouseover Prefetch?". Gervase Markham, MozillaZine. Archived from the original on 2009-12-16. http://www.webcitation.org/5m4YUuqVj. Retrieved 2009-12-16. 

[edit] External links