Tutorial 7: Web Caching Flashcards
What is the difference between (1) a proxy and (2) a reverse proxy in the context of web caching?
(1) A proxy caches the content of an unlimited number of web servers (web sites) for a limited number of clients.
(2) A reverse proxy caches the content of a limited number of web servers (web sites) for an unlimited number of
clients
What is the reason for using (1) a proxy and (2) a reverse proxy. Give a reason and a simple example for each.
- A proxy is used to reduce the response time of web application and to reduces the utilization of the network within an administrative domain. An example would be the TUM’s web cache.
- A reverse proxy is used at the provider’s side (close to the server to reduce the load from incoming client requests on the web server by either distributing the load to multiple servers or caching frequently accessed content. This is, for instance, used by Wikipedia.
When using multiple caches at the provider side, what are the requirements? Why do traditional hash functions that map the content into one of these caches violate some of these requirements?
Requirements for using multiple caches are that
- each cache should carry an equal share of objects
- clients need to know what cache to query for a given object
- caches should be able to come and go without disrupting the whole operation
Usual hash functions would map the content directly on one of the web caches. This means that the hash function that is used depends on the number of caches in the system (e.g., N caches → h(x) = . . . mod N). Therefore, changing the number of caches (i.e., adding/removing) results in a new hash function, which causes a complete reallocation of content. Furthermore, clients no longer know which caches they have to query in order to get the content they need.