WAN Optimization Web Caching
Web Caching is an effective technology tool that can enhance quality of service for the broad range of Internet users. It can be defined as caching of Web documents wherein copies of documents that pass through the Web cache are stored. Web caching is a technique that helps in reducing bandwidth usage and server load. It helps in reliable and efficient data transmissions over the Wide Area Network (WAN). Caching helps in enhancing the quality of data transmissions over the Internet. In situations where there is network congestion or heavy load on originating server, the cache can promptly serve data to a page. The benefit of nearby caches serving requests through interception is that the volume of requests going to the source server is drastically reduced, thereby reducing server load and network traffic. A Web cache is often confused with a web archive, which is only a site that maintains the archive/old versions of Web pages.
A well-designed Web cache effectively reduces network traffic while improving access time to Web sites. This is greatly beneficial to both Web users and network administrators. A Web cache is located between one or several Web servers and one or more clients. The Web servers are also referred to as origin servers. The requests that are transmitted over the network are given responses, which are saved in the Web cache. The responses will be sending of the requested Web documents to the receiver. The Web documents may be HTML pages, images, files, and others. These are collectively termed as ‘representations.’ When there is a request for the same URL again, the response from the Web cache is used instead of being directed again to the origin server.
Web caches are primarily used for reducing latency and network traffic. Latency is reduced effectively when the request is met by the cache instead of the origin server, which takes very less time to extract the required Web document. Network traffic can also be substantially minimized as the Web documents (representations) from the cache are used again. This reduces bandwidth consumption and enables the user to effectively manage bandwidth requirements.
Browser Caches, Proxy Caches, and Gateway Caches are the 3 kinds of Web caches, which have specific functionalities. Browser Caches are used to ascertain if the stored representations on the cache are fresh. This is done mostly once a session. Browser cache is helpful in cases where users click an already viewed link or hit the back button. If the same navigation images are used in the site, the Browser cache will send the data immediately. Web proxy caches are based on the same functioning principle as Browser cache, but on a much larger scale serving a large number of users. They are frequently installed as firewalls or standalone devices (a.k.a. intermediaries) in large corporate organizations and Internet Service Providers (ISPs).
Proxy caches are found on the networks and requests are routed to them either by manual selection or through interception. Being a type of shared cache, they cover many users while efficiently reducing network traffic and latency levels. Gateway caches are deployed by Webmaster to enhance their sites in terms of better performance, scalability, and reliability. There are various methods to route requests to gateway caches. A type of load balancer is also used for this purpose. Gateway caches are distributed across the Internet by Content Delivery Networks (CDNs). Gateway caches are also known as Surrogate Caches or Reverse Proxy Caches.
Web caching has certain limitations when a group of users share a single caching machine. Users are severed from the Internet if the caching mechanism fails; also there is a limitation to the number of users that can be served. It is to be noted that there is only a specified amount of storage space available, which may result in “false misses” by the cache when repeated requests are sent. Aggregation of requests in a cache helps to increase the hit rate since the request of one user may already been requested by several other users.