Quire

A web cache (or HTTP cache) is a system for optimizing the World Wide Web. It is implemented both client-side and server-side. The caching of multimedia and other files can result in less overall delay when browsing the Web.[1][2] In 2000, computer scientists Jim Gray and Prashant Shenoy calculated that for web page caching, a web browser should "cache web pages if there is any chance they will be re-referenced within their lifetime."[3]

Parts of the system#edit

Forward and reverse#edit

A forward cache is a cache outside the web server's network, e.g. in the client's web browser, in an Internet service provider, or within a corporate network. A network-aware forward cache only caches heavily accessed items. A proxy server sitting between the client and web server can evaluate HTTP headers and choose whether to store web content.

A reverse cache sits in front of one or more web servers, accelerating requests from the Internet and reducing peak server load. This is usually a content delivery network (CDN) that retains copies of web content at various points throughout a network.

HTTP options#edit

The Hypertext Transfer Protocol (HTTP) defines three basic mechanisms for controlling caches: freshness, validation, and invalidation. This is specified in the header of HTTP response messages from the server.

Freshness allows a response to be used without re-checking it on the origin server, and can be controlled by both the server and the client. For example, the Expires response header gives a date when the document becomes stale, and the Cache-Control: max-age directive tells the cache how many seconds the response is fresh for.

Validation can be used to check whether a cached response is still good after it becomes stale. For example, if the response has a Last-Modified header, a cache can make a conditional request using the If-Modified-Since header to see if it has changed. The ETag (entity tag) mechanism also allows for both strong and weak validation.

Invalidation is usually a side effect of another request that passes through the cache. For example, if a URL associated with a cached response subsequently gets a POST, PUT or DELETE request, the cached response will be invalidated. Many CDNs and manufacturers of network equipment have replaced this standard HTTP cache control with dynamic caching.

Legality#edit

In 1998, the Digital Millennium Copyright Act added rules to the United States Code (17 U.S.C. §: 512) that exempts system operators from copyright liability for the purposes of caching.

Server-side software#edit

This is a list of server-side web caching software.

NameOperating systemForward
mode
Reverse
mode
License
WindowsUnix-likeOther
Apache HTTP ServerYesOS X, Linux, Unix, FreeBSD, Solaris, Novell NetWareOS/2, TPF, OpenVMS, eComStationYesApache 2.0
aiScaler Dynamic Cache ControlNoLinuxNoProprietary
ApplianSys CACHEboxNoLinuxNoProprietary
Blue Coat ProxySGNoNoSGOSYesYesProprietary
nginxYesLinux, BSD, OS X, Solaris, AIX, HP-UXYesYesYes2-clause BSD-like
Microsoft Forefront Threat Management GatewayYesNoNoYesYesProprietary
PolipoYesOS X, Linux, OpenWrt, FreeBSD?YesYesMIT License
SquidYesLinux?YesYesGPL
Apache Traffic Server?Linux?YesYesApache 2.0
UntangleNoLinuxNoYesYesProprietary
VarnishNoLinuxNoNeeds a VMODYesBSD
WinGateYesNoNoYesYesProprietary (Free for 8 users)
NusterNoLinuxNoYesYesGPL
McAfee Web GatewayNoMcAfee Linux Operating SystemNoYesYesProprietary

See also#edit

References#edit

  1. ^ Fountis, Yorgos (4 May 2017). "How does the browser cache work?".
  2. ^ Messaoud, S.; Youssef, H. (2009). "An analytical model for the performance evaluation of stack-based web cache replacement algorithms". International Journal of Communication Systems. 23: 1–22. doi:10.1002/dac.1036. S2CID 46507769.
  3. ^ Jim Gray, Prashant Shenoy, "Rules of Thumb in Data Engineering", MS-TR-99-100.

Further reading#edit

  • Ari Luotonen, Web Proxy Servers (Prentice Hall, 1997) ISBN 0-13-680612-0
  • Duane Wessels, Web Caching (O'Reilly and Associates, 2001). ISBN 1-56592-536-X
  • Michael Rabinovich and Oliver Spatschak, Web Caching and Replication (Addison Wesley, 2001). ISBN 0-201-61570-3

This article is mirrored from “Web cache” on English Wikipedia, revision 1375431709, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.

Synced with Wikipedia revision 1375431709 · just now