Caching

What is caching?

As a concept, caching is one of the backbone technologies of the Internet. It speeds up browsing, decreases the payload domain name servers are forced to bear and ensures smooth functioning of web servers that may otherwise be periodically overloaded.

When a browser visits a web page for the first time, it stores a copy of that page in its own internal memory, or "cache." The next time it is asked to retrieve the same page, it first checks to see if it has a copy in its cache. If it does, it will display the cached copy. If it doesn't (i.e. it has never visited that page before or enough time has elapsed since the last visit for the page to be automatically erased from its memory), then it proceeds with asking the computer hosting that page for a copy.

As explained in a previous article, DNS (domain name system) servers are special computers which keep a record of which domain names (www.domain.com) correspond to which IP numbers (123.456.789.12).

Each time a user requests a web page from www.domain.com, their browser must first contact their ISP's DNS server to learn which IP number is assigned to that domain name. Once the information is obtained, the browser then passes on the request to the computer located at the resulting IP number.

To help speed up the process of dispensing domain name/IP number pairs, DNS servers also utilize caching. Each time they are asked for a domain name/IP number pair they have never responded to before, they first must retrieve the information by asking another DNS server. If the second DNS server doesn't know, it asks another and so on until finally a server with the correct information is found. The DNS server with the desired pair then passes the information back to the original server using the same path from which it received the request.

Each server queried in the process then "learns" which IP number belongs to www.domain.com and stores that information in its own internal cache. The next time any of those servers are asked for that pair, they will be able to provide the answer without having to ask another DNS server.

When a web server creates a log file, it typically logs only the IP numbers of the visitors who log in. Most web servers have the ability to look up the visitors' domain names as well, but this decreases the server's speed so the majority of web hosts leave the reverse DNS lookup feature turned off.

To accommodate this fact, Funnel Web includes the ability to perform DNS lookups during the analysis process (refer to screen shot below). By running reports with DNS lookups turned on, you will be able to see the domain names of the visitors to your site rather than their rather meaningless (at least to human eyes) IP numbers.

However, you may notice that turning on DNS lookups adds a significant amount of time to the analysis process as Funnel Web contacts your DNS server to learn the domain name of each IP number included in your log file.

To help speed up the process, Funnel Web maintains a cache file of domain name/IP pairings it has looked up in the past. Thus, each time it encounters an IP number it has not looked up before, it will contact your DNS server and add the answer it gets back to its cache file.

During subsequent analyses, it will contact your DNS server only if it encounters an IP number not included in its cache file. If the IP number does appear in its cache file, Funnel Web will use that information instead.

Using a cache file greatly increases the speed with which Funnel Web can resolve IP numbers during its analysis process.

To resolve domain names without using a cache file, choose "Lookups On" in the Analysis:Network section of the program's settings. To use a cache file, choose "Cache Only." To flush out your cache file and force Funnel Web to perform old lookups again, press the "Clear Cache" button.

This site looks best using Safari or FireFox.

Get Firefox!