Web cache

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 images and other files can result in less overall delay when browsing the Web.[1]

Parts of the systemEdit

Forward and reverseEdit

A forward cache is a cache outside the web server's network, e.g. in the client's web browser, in an ISP, or within a corporate network.[2] A network-aware forward cache only caches heavily accessed items.[3] 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 optionsEdit

The Hypertext Transfer Protocol (HTTP) defines three basic mechanisms for controlling caches: freshness, validation, and invalidation.[4] 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.

LegalityEdit

In 1998, the DMCA 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 softwareEdit

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

Name Operating system Forward
mode
Reverse
mode
License
Apache HTTP Server Windows, OS X, Linux, Unix, FreeBSD, Solaris, Novell NetWare, OS/2, TPF, OpenVMS and eComStation No Apache License 2.0
aiScaler Dynamic Cache Control Linux Proprietary
ApplianSys CACHEbox Linux Proprietary
Blue Coat ProxySG SGOS Yes Yes Proprietary
Nginx Linux, BSD variants, OS X, Solaris, AIX, HP-UX, other *nix flavors No Yes 2-clause BSD-like
Microsoft Forefront Threat Management Gateway Windows Yes Yes Proprietary
Polipo Windows, OS X, Linux, OpenWrt, FreeBSD Yes Yes MIT License
Squid Linux, Unix, Windows Yes Yes GNU General Public License
Traffic Server Linux, Unix Yes Yes Apache License 2.0
Untangle Linux Yes Yes Proprietary
Varnish Linux, Unix Yes (possible with a VMOD) Yes BSD
WinGate Windows Yes Yes Proprietary / Free for 3 users
Nuster Linux, Unix No Yes GNU General Public License
McAfee Web Gateway McAfee Linux Operating System Yes Yes Proprietary

See alsoEdit

ReferencesEdit

  1. ^ Fountis, Yorgos. "How does the browser cache work?". Retrieved 19 February 2020.
  2. ^ Shinder, Thomas (2 September 2008). "Understanding Web Caching Concepts for the ISA Firewall". ISA Server. TechGenix Ltd. Archived from the original on 23 July 2011. Retrieved 27 February 2011.
  3. ^ Erman, Jeffrey; Gerber, Alexandre; Hajiaghayi, Mohammad T.; Pei, Dan; Spatscheck, Oliver (2008). "Network-Aware Forward Caching" (PDF). AT&T Labs: 291–300. CiteSeerX 10.1.1.159.1786. Archived from the original (PDF) on 1 April 2011. Retrieved 11 March 2019.
  4. ^ Kelly, Mike; Hausenblas, Michael. "Using HTTP Link: Header for Gateway Cache Invalidation" (PDF). WS-REST. p. 20. Retrieved 14 June 2013.

Further readingEdit

  • 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

External linksEdit