Web cache: Difference between revisions

Content deleted Content added
Reverted 1 edit by 66.57.7.158 (talk): Not an appropriate link
Azarboon (talk | contribs)
No edit summary
 
(42 intermediate revisions by 33 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 27 ⟶ 29:
{| 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}}
| Windows, {{yes|OS X, Linux, Unix, FreeBSD, Solaris, Novell NetWare, OS/2, TPF, OpenVMS and eComStation}}
| {{yes|OS/2, TPF, OpenVMS, eComStation}}
|{{Yes}}
|
| {{freeopen source|[[Apache License 2.0]]}}
|-
! scope="row" | [[aiScaler]] Dynamic Cache Control
| Linux{{no}}
| {{yes|[[Linux]]}}
| {{no}}
|
|
Line 46 ⟶ 56:
|-
! scope="row" | [[ApplianSys#CACHEbox|ApplianSys CACHEbox]]
| Linux{{no}}
| {{yes|[[Linux]]}}
| {{no}}
|
|
Line 52 ⟶ 64:
|-
! scope="row" | [[Blue Coat Systems|Blue Coat]] ProxySG
| SGOS{{no}}
| {{no}}
| {{yes2|SGOS}}
| {{Yes}}
| {{Yes}}
Line 58 ⟶ 72:
|-
! scope="row" | [[Nginx]]
| {{yes}}
| {{yes|[[Linux]], [[BSD|BSD variants]], [[OS X]], [[Solaris (operating system)|Solaris]], [[AIX]], [[HP-UX]], other [[*nix]] flavors}}
| {{yes}}
| {{Yes}}
| {{Yes}}
| {{freeopen source|2-clause [[BSD licenses|BSD]]-like}}
|-
! scope="row" | [[Microsoft Forefront Threat Management Gateway]]
| Windows{{yes}}
| {{no}}
| {{no}}
| {{Yes}}
| {{Yes}}
Line 70 ⟶ 88:
|-
! scope="row" | [[Polipo]]
| {{yes}}
| [[Windows]], {{yes|[[OS X]], [[Linux]], [[OpenWrt]], [[FreeBSD]]}}
| {{dunno}}
| {{Yes}}
| {{Yes}}
| {{freeopen source|[[MIT License]]}}
|-
! scope="row" | [[Squid (software)|Squid]]
| {{yes}}
| Linux, [[Unix filesystem|Unix]], [[Windows 10 version history|Windows]]
| {{yes|[[Linux]]}}
| {{dunno}}
| {{Yes}}
| {{Yes}}
| {{freeopen source|[[GNU General Public LicenseGPL]]}}
|-
! scope="row" | [[Traffic Server]]
| {{dunno}}
| Linux, Unix
| {{yes|[[Linux]]}}
| {{dunno}}
| {{Yes}}
| {{Yes}}
| {{freeopen source|[[Apache License 2.0]]}}
|-
! scope="row" | Untangle
| Linux{{no}}
| {{yes|[[Linux]]}}
| {{no}}
| {{Yes}}
| {{Yes}}
Line 94 ⟶ 120:
|-
! scope="row" | [[Varnish (software)|Varnish]]
| {{no}}
| Linux, Unix
| {{yes|[[Linux]]}}
| {{Yes}} (possible with a VMOD)
| {{no}}
| {{Needs}} a VMOD
| {{Yes}}
| {{freeopen source|[[BSD licenses|BSD]]}}
|-
! scope="row" | [[WinGate]]
| Windows{{yes}}
| {{no}}
| {{no}}
| {{Yes}}
| {{Yes}}
| {{Proprietary}} / (Free for 8 users)
|-
! scope="row" |Nuster
| {{no}}
|Linux| Linux, Unix
| {{yes|[[Linux]]}}
| {{no}}
| {{Yes}}
| {{Yes}}
| {{freeopen source|[[GNU General Public LicenseGPL]]}}
|-
![[McAfee]] Web Gateway
| {{no}}
| {{yes2|McAfee Linux Operating System}}
| {{no}}
| {{Yes}}
| {{Yes}}
Line 135 ⟶ 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}}