I spent quite a lot of time trying to understand why my server prevents pages from certain sites to be cached on the client side. Here is what I got in HTTP headers:
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
After investigating I found that it happens if I use session_start() function in my USER_INT object. Looking to documentation for this function I found that PHP may send such headers if session.cache_limiter parameter in php.ini is set to nocache.
I do not know why but default setting for this parameter is not optimal. In my this opinion should be either private, or even empty by default.
By the way, the tool to see HTTP headers online is
here.

http://chrispederick.com/work/webdeveloper/
http://livehttpheaders.mozdev.org/
over the "view reponse header"-option of web developer extensions due to the bidirectional live view of http communication
btw: nice blog here. spending at least 30min 'til now here.
polarizers 2 cent