| Internet Explorer's Random Deletions |
Normally, an Internet cache stores files on your computer so when you revisit a web page that hasn't changed (or has only partially changed), it doesn't have to get everything off the web page again. Instead, the browser displays what is stored in the cache on your computer's hard drive. All caches have a set maximum determined by you, the user. When the cache fills up (that is, reaches the maximum size you set) it is supposed to delete the files from the cache that are from the web page you visited the longest ago, with few exceptions.
Internet Explorer's cache manager, however, does not do this. Content that is only hours old sometimes gets deleted before content that is weeks old! This can cause frustration if you use the history feature of IE to browse back to web pages to visited earlier in the day. (And makes offline browsing from laptops almost impossible.) It can also slow down the web browser since such content has to be downloaded from the server again for no good reason.
Although I do not consider it a "bug" anymore since it has improved from the totally random deletions of IE 3 and IE 4, the cache manager in the current versions of IE could make much better decisions about the files it deletes, and CacheSentry Pro fills this need.
| Internet Explorer's Stray File Problem |
If you interrupt the transfer of a web page before it is finished by clicking on a link to go to another page, the incomplete files are left in the cache so IE may resume from where it left off if the web server supports the resume feature. However, sometimes these files are simply forgotten about by IE and they never get deleted until you clear the cache. They end up taking up space on the hard drive that could be used for other purposes. CacheSentry Pro fixes this by finding them and cleaning up the stray files and stray cookies first, leaving the valid cached content available to the web browser longer.
An opposite problem can also occur on rare occasions, where the record to an item of content in the cache index exists but the physical file in the cache folder has been deleted. This is a "stray URL", and CacheSentry Pro also removes stray URLs for you automatically if you wish.
Outlook Express 5.5 and 6.0 Issue
Outlook Express 5.5 and 6 uses the IE cache folders to store thousands of small files related in some way to its operation, most of which are zero bytes in size. Unfortunately, it is not clear whether IE ever removes all of them. (I have yet to see it happen.) CacheSentry Pro's stray file removal code automatically removes these files after they aren't used for two days. (The length of time is configurable in the manager editor).
| Internet Explorer Loses Track of Cache's Size |
After Internet Explorer 5 was released, I let it manage the cache on its own for a few months to see how well it performed. One of the things I noticed after a little while was downloading large files (around 10-25 megabytes) would cause IE5 to start removing files from the cache long before it became full. I checked for strays and found none, and clearing the cache didn't fix the problem. The only way I was able to fix it was to delete the index file that keeps track of the cache's contents, so I knew it had to be a problem with that file. Further investigation revealed IE5 (and possibly IE4) have a problem with keeping track of how much space the files in the cache are actually taking up. There is a place in the INDEX.DAT file (the cache's index to the files) that stores a 64-bit value of what IE thinks is the cache's current size. It compares this value to the size you have set IE's cache to grow to, and if this value is larger than your setting, IE makes room in the cache. If this value is wrong and is too high, IE will think the cache is full before it actually is and you won't make full use of the size to which you have set your cache. If the value is too low, the cache will grow larger than the size you have set it.
Now, how does this bug affect third-party cache managers like CacheSentry Pro? As you might guess, this is mostly only an issue if you are letting IE manage the cache itself - with CacheSentry Pro this usually isn't a problem because the program recalculates the actual size of the cache when it checks see if it needs to make more room there. However, this isn't foolproof: If this value gets to be too incorrect on the high side, IE could think it is time to delete files from the cache again even though you have set IE cache size to a large value as the installation instructions for CacheSentry Pro describe. IE will again take control of cache deletions and render CacheSentry Pro ineffective! CacheSentry Pro recalculates this value when it scans the cache and can store the correct value in the INDEX.DAT file if you have this bugfix enabled.
IE 5.5 through IE 6 also have this bug, but it appears to happen more slowly than with previous versions of IE.