Web cache: Difference between revisions

Content deleted Content added
Tags: Reverted Mobile edit Mobile web edit
Azarboon (talk | contribs)
No edit summary
(39 intermediate revisions by 31 users not shown)
Line 1:
{{short description|System for optimizing the Web}}
 
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 [[cache (computing)|caching]] of [[multimedia]] and other [[computer file|files]] can result in less overall delay when [[web browser|browsing]] the Web.<ref>{{Cite web |last=Fountis |first=Yorgos |date=4 May 2017 |title=How does the browser cache work? |url=https://pressidium.com/blog/2017/browser-cache-work/}}</ref><ref>{{Cite journal |last1=Messaoud |first1=S. |last2=Youssef |first2=H. |date=2009 |title=An analytical model for the performance evaluation of stack-based Web cache replacement algorithms |url=https://onlinelibrary.wiley.com/doi/10.1002/dac.1036 |journal=International Journal of Communication Systems |language=en |volume=23 |pages=1–22 |doi=10.1002/dac.1036|s2cid=46507769 }}</ref>
 
[[Distributed computing|Distributed web applications]] should consider [[Distributed cache|distributed caching]].
 
==Parts of the system==
Line 11 ⟶ 13:
 
===HTTP options===
The [[Hypertext Transfer Protocol (Secure)|Hypertext Transfer Protocol]] (HTTP) defines three basic mechanisms for controlling caches: freshness, validation, and invalidation.<ref>{{cite web |url=http://ws-rest.org/files/03-Link%20Header-based%20Invalidation%20of%20Caches.pdf |title=Using HTTP Link: Header for Gateway Cache Invalidation |access-date=14 June 2013 |first1=Mike |last1=Kelly |first2=Michael |last2=Hausenblas |pages=20 |work=WS-REST |archive-date=10 July 2010 |archive-url=https://web.archive.org/web/20100710072021/http://www.ws-rest.org/files/03-Link%20Header-based%20Invalidation%20of%20Caches.pdf |url-status=dead }}</ref> 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.
Line 24 ⟶ 26:
 
==Server-side software==
This is a list of server-side web caching software.
{| style="font-size: 85%; text-align: center; width: auto;" class="sortable wikitable"
|-
!rowspan="2"|Name
!colspan="3"|Operating system
!rowspan="2"|Forward<br />mode
!rowspan="2"|Reverse<br />mode
!rowspan="2"|License
|-
![[Microsoft Windows|Windows]]
![[Unix-like]]
!Other
|-
! scope="row" |[[Apache HTTP Server]]
| {{yes}}
| {{yes|OS X, Linux, Unix, FreeBSD, Solaris, Novell NetWare}}
| {{yes|OS/2, TPF, OpenVMS, eComStation}}
|{{Yes}}
|
| {{open source|[[Apache 2.0]]}}
|-
! scope="row" | [[aiScaler]] Dynamic Cache Control
| {{no}}
| {{yes|[[Linux]]}}
| {{no}}
|
|
| {{Proprietary}}
|-
! scope="row" | [[ApplianSys#CACHEbox|ApplianSys CACHEbox]]
| {{no}}
| {{yes|[[Linux]]}}
| {{no}}
|
|
| {{Proprietary}}
|-
! scope="row" | [[Blue Coat Systems|Blue Coat]] ProxySG
| {{no}}
| {{no}}
| {{yes2|SGOS}}
| {{Yes}}
| {{Yes}}
| {{Proprietary}}
|-
! scope="row" | [[Nginx]]
| {{yes}}
| {{yes|[[Linux]], [[BSD]], [[OS X]], [[Solaris (operating system)|Solaris]], [[AIX]], [[HP-UX]]}}
| {{yes}}
| {{Yes}}
| {{Yes}}
| {{open source|2-clause [[BSD licenses|BSD]]-like}}
|-
! scope="row" | [[Microsoft Forefront Threat Management Gateway]]
| {{yes}}
| {{no}}
| {{no}}
| {{Yes}}
| {{Yes}}
| {{Proprietary}}
|-
! scope="row" | [[Polipo]]
| {{yes}}
| {{yes|[[OS X]], [[Linux]], [[OpenWrt]], [[FreeBSD]]}}
| {{dunno}}
| {{Yes}}
| {{Yes}}
| {{open source|[[MIT License]]}}
|-
! scope="row" | [[Squid (software)|Squid]]
| {{yes}}
| {{yes|[[Linux]]}}
| {{dunno}}
| {{Yes}}
| {{Yes}}
| {{open source|[[GPL]]}}
|-
! scope="row" | [[Traffic Server]]
| {{dunno}}
| {{yes|[[Linux]]}}
| {{dunno}}
| {{Yes}}
| {{Yes}}
| {{open source|[[Apache 2.0]]}}
|-
! scope="row" | Untangle
| {{no}}
| {{yes|[[Linux]]}}
| {{no}}
| {{Yes}}
| {{Yes}}
| {{Proprietary}}
|-
! scope="row" | [[Varnish (software)|Varnish]]
| {{no}}
| {{yes|[[Linux]]}}
| {{no}}
| {{Needs}} a VMOD
| {{Yes}}
| {{open source|[[BSD licenses|BSD]]}}
|-
! scope="row" | [[WinGate]]
| {{yes}}
| {{no}}
| {{no}}
| {{Yes}}
| {{Yes}}
| {{Proprietary}} (Free for 8 users)
|-
! scope="row" |Nuster
| {{no}}
| {{yes|[[Linux]]}}
| {{no}}
| {{Yes}}
| {{Yes}}
| {{open source|[[GPL]]}}
|-
![[McAfee]] Web Gateway
!Name
| {{no}}
!Operating system
| {{yes2|McAfee Linux Operating System}}
!Samsung
| {{no}}
| {{Yes}}
| {{Yes}}
| {{Proprietary}}
|}
 
== See also ==
Line 47 ⟶ 169:
* 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}}
{{WebManTools}}
 
{{DEFAULTSORT:Web Cache}}