A Web cache (or HTTP cache) is a system for optimizing the
World Wide Web
The World Wide Web (WWW), commonly known as the Web, is an information system enabling documents and other web resources to be accessed over the Internet.
Documents and downloadable media are made available to the network through web se ...
. 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's network, e.g. in the client's
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used on ...
, 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
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, ...
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
A content delivery network, or content distribution network (CDN), is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by distributing the service spatially r ...
(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 th ...
(
17 U.S.C. §: 512) that exempts system operators from
copyright
A copyright is a type of intellectual property that gives its owner the exclusive right to copy, distribute, adapt, display, and perform a creative work, usually for a limited time. The creative work may be in a literary, artistic, education ...
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
A content delivery network, or content distribution network (CDN), is a geographically distributed network of proxy servers and their data centers. The goal is to provide high availability and performance by distributing the service spatially r ...
*
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
A web accelerator is a proxy server that reduces website access time. They can be a self-contained hardware appliance or installable software.
Web accelerators may be installed on the client computer or mobile device, on ISP servers, on the ser ...
*
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