Web cache

From Wikipedia, the free encyclopedia
(Redirected from Browser 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 multimedia and other files can result in less overall delay when browsing the Web. [1] [2]

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 ISP , or within a corporate network. [3] A network-aware forward cache only caches heavily accessed items. [4] 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. [5] 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 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 software [ edit ]

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

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

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. ^ 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 .
  4. ^ 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 .
  5. ^ Kelly, Mike; Hausenblas, Michael. "Using HTTP Link: Header for Gateway Cache Invalidation" (PDF) . WS-REST . p. 20. Archived from the original (PDF) on 10 July 2010 . Retrieved 14 June 2013 .

Further reading [ edit ]