Many of you probably sill think that the META headers are the solution for No-Caching.

<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />

I came across this excellent tutorial by Mark Nottingham http://www.mnot.net/cache_docs/. It explains why ”Pragma: no-cache” doesn’t work and why you should use the Cache Control HTTP Headers instead.

Last-Modified
If-Modified-Since
ETag
If-None-Match
Cache-Control: max-age=3600, must-revalidate