Cache Hierarchies
Parent and Sibling Caches
In practice, a multitude of caches forms a cache hierarchy between web client and server. Traditional terminology distinguishes „parent caches“ and „sibling caches“:
- If a cache A forwards requests to another cache B, then B is said to be „parent“ of A.
- If both caches A and B forward requests to a common parent C, then A and B are said to be „siblings“.
One cache can have multiple parents for purposes of traffic routing, load distribution or specialized handling.
For example, a child cache could forward all requests to file resources of MIME type application/vnd.microsoft.portable-executable to a specific parent that has a function for scanning file resources for malware.
An HTTP Cache Hierarchy
The following diagram illustrates a cache hierarchy scenario:
- A web browser maintains an own, private cache. The cache is called „private“ because it is only accessed by a single user.
- The local network maintains a load-balancing set of public caches. Clients query a cache for a resource, and the cache either serves the cached resource or retrieves a current version from the webserver. As opposed to private caches, public caches can deliver cached resources to multiple users.
- The webserver does not deliver resources directly, a transparent cache receives web requests on a public-facing network interface and serves either the cached resource or retrieves a current version from the webserver.