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
In computing, a cache ( ) is a hardware or software component that stores data so that future requests for that data can be served faster; the data stored in a cache might be the result of an earlier computation or a copy of data stored elsewher ...
of
multimedias and other
files
File or filing may refer to:
Mechanical tools and processes
* File (tool), a tool used to ''remove'' fine amounts of material from a workpiece
**Filing (metalworking), a material removal process in manufacturing
** Nail file, a tool used to gent ...
can result in less overall delay when
browsing the Web.
Parts of the system
Forward and reverse
A forward cache is a cache outside the
web server
A web server is computer software and underlying hardware that accepts requests via HTTP (the network protocol created to distribute web content) or its secure variant HTTPS. A user agent, commonly a web browser or web crawler, initiate ...
's network, e.g. in the client's
web browser, in an
ISP, 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
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
In 1998, the
DMCA added rules to the
United States Code
In the law of the United States, the Code of Laws of the United States of America (variously abbreviated to Code of Laws of the United States, United States Code, U.S. Code, U.S.C., or USC) is the official compilation and codification of the ...
(
17 U.S.C. §: 512) that exempts system operators from
copyright liability for the purposes of caching.
Server-side software
This is a list of server-side web caching software.
See also
*
InterPlanetary File System - makes web caches redundant
*
Cache Discovery Protocol The Cache Discovery Protocol (CDP) is an extension to the BitTorrent file-distribution system. It is designed to support the discovery and utilisation of local data caches by BitTorrent peers, typically set up by ISPs wishing to minimise the impac ...
*
Cache manifest in HTML5
The cache manifest in HTML5 is a software storage feature which provides the ability to access a web application even without a network connection. It became part of the W3C Recommendation on 28 October 2014.
As of 2021, this technology is no lo ...
*
Content delivery network
*
Harvest project
Harvest was a DARPA funded research project by the Internet Research Task Force Research Group on Resource Discovery and hosted at the University of Colorado at Boulder which provided a web cache, developed standards such as the Internet Cache Pro ...
*
Proxy server
*
Web accelerator
*
Search engine cache
References
Further reading
* Ari Luotonen, ''Web Proxy Servers'' (Prentice Hall, 1997)
* Duane Wessels, ''Web Caching'' (O'Reilly and Associates, 2001).
* Michael Rabinovich and Oliver Spatschak, ''Web Caching and Replication'' (Addison Wesley, 2001).
{{DEFAULTSORT:Web Cache
Hypertext Transfer Protocol
Cache (computing)
*
Web caching protocol