Cache control problem with IE6 when do Ajax site call XML API

When create ajax site, we let client browser use js to make some call to our API services (REST). API function return output as XML (our format). Then the js at browser parse the return XML to display some fancy on screen.

Firefox, Mozzila base work fine, but IE6 is so stupid and lazy. IE6 cache the return XML data, and later call to API (with the same URL), IE6 take data from it internal cache, avoid calling from API.

To avoid it, our API server must send some header(s), tell the browser (client) NOT TO CACHE the XML data (fetching from API). You must do it from SERVER, remember.

Here is correct sequence (write in PHP), work for IE6

header(“Expires: Mon, 26 Jul 1997 05:00:00 GMT”);
header(“Last-Modified: ” . gmdate(“D, d M Y H:i:s”) . ” GMT”);
header(“Cache-Control: no-store, no-cache, must-revalidate”);
header(“Cache-Control: post-check=0, pre-check=0”, false);
session_start();
header(“Cache-Control: private”);

But, beside the problem with IE (while using js, make ajax call to XML file), using caching with API oriented and ajax call is very sweet.

Some resource I found here about caching:

http://www.htaccesselite.com/using-php-header-function-vt156.html
http://www.phpbuilder.com/board/showthread.php?t=10294526
http://www.websiteoptimization.com/speed/tweak/cache/
http://www.chriskirkland.net/news/59_PHP-Cache-Control-script.html
http://www.badpenguin.org/docs/php-cache.html
http://www.mnot.net/cache_docs/
http://www.htaccesselite.com/using-php-header-function-vt156.html