When web cache receives the request, it first examines the cache’s inventory of stored objects to verify the existence of the requested web content. If the desired object is found, web cache determines the ‘freshness’ of the stored object by examining the object’s creation date, storage date, expiration date, and client and server preferences. If the stored object is found to be valid and up-to-date (fresh), then it is retrieved from the cache’s object store and sent as an HTTP response to the client, hence, saving time and bandwidth (Hofmann & Beaumont 2005).
In case if the requested web object is not found, then the web cache transforms and forward the client request to the origin server, receives the response from the origin server, and forwards the response to the client. After sending the response to the client, web cache decides whether or not to store a copy of the object into its object store. This decision is based on (i) replacement rules, and (ii) dynamic object rules (Hofmann & Beaumont 2005).
Web cache has finite capacity and therefore, once the cache is full, it is important to decide whether or not to store the current web object after removing and replacing some another stored object. There are several ways to select the object to be removed and replaced; some popular strategies listed by Hofmann & Beaumont (2005) are:
Web cache uses dynamic object rules to find the approximate future value of the object through examining its characteristics in order to determine whether or not the object is valuable enough to be stored in the object store. Dynamic web content, such as stock quotes, news headlines, and weather reports changes very frequently and therefore, their value is dropped very rapidly. Personal information, such as family pictures, journals, and travel plans has a very low future value as it attracts only a few numbers of clients. Likewise, private