Another really cheap trick is to simply throw a random number into every one of your links. This forces your browser into thinking you have a fresh URL each time.
I wrote something awhile back...
seemed to have issues with a client's cruddy browser or id10t issues 😉
It was somthing like this:
function nocachelink($url) {
$delimiter = ( strstr($url, '?') ) ? "&" : "?";
return $url . $delimiter . "nocache=" . uniqid(rand(), true);
}
Anyway, I didn't have to worry about some stupid browser or proxy server ignoring headers (they seemed to in the issue I was having with the client.)