No meu servidor da web do empregador, temos mais de 200 aplicativos PHP com esse tipo de código para permitir o download de um arquivo:
header('Content-Disposition: attachment; filename="file.pdf"');
header('Expires: 0');
header('Pragma: no-cache');
Ele roda bem no servidor antigo (Debian Lenny, PHP 5.2, Apache 2.2.9), mas falha no IE8 com o novo (Debian Squeeze, PHP 5.2, Apache 2.2.16). Outros navegadores são multas. Nós acessamos somente o arquivo via HTTPS, nunca HTTP. Nós não encontramos nenhuma diferença entre o arquivo conf, mas substituindo no-cache por private corrige o problema com o IE. Onde podemos procurar entender onde está a diferença?