I just wanted to drop a quick note on a gotcha that sometimes creeps into my programming activities. In the web application world, we have a lot of innovative techniques to speed a relatively slow infrastructure and allow reliable high-performing application delivery. Many of these techniques use caching—a temporary storage algorithm that makes often-used data quickly available—to speed things along.
Caching is great and makes the web tolerable but it can nip you when you’re trying to develop an application and you don’t want caching. Let’s say you make a change to a web page you’re authoring and the change doesn’t seem to have an impact when you reload the page in your browser. So you make another change, and another, until quite soon you’re pulling your hair out. Most likely you are a victim of caching somewhere in the web page delivery pipeline and that’s why your change isn’t coming through.
So what can you do? Be aware of the environment in which you’re developing and take note of the caching points. Make sure you know how to clear the caches that might affect you so you can start from scratch when testing changes.
I’ve listed a few common caching mechanisms below and there are many more depending on the platform and delivery pipeline. Feel free to add comments and I’ll put good suggestions in the post for easy reference.
Common Caching Mechanisms
The following list sums up some of the most common caching mechanisms in the web world.
- Client browser cache
- Web server cache
- Proxy server cache
- Content delivery network (CDN) cache
- DNS server cache
- Network device cache