Index: file.inc =================================================================== RCS file: /cvs/drupal/drupal/includes/file.inc,v retrieving revision 1.121.2.11 diff -u -p -r1.121.2.11 file.inc --- file.inc 1 Mar 2010 09:51:16 -0000 1.121.2.11 +++ file.inc 2 Jun 2010 18:33:32 -0000 @@ -811,6 +811,14 @@ function file_transfer($source, $headers if (ob_get_level()) { ob_end_clean(); } + + // IE cannot download private files because it cannot store files downloaded + // over https in the browser cache. The problem can be solved by sending + // custom headers to IE. See http://support.microsoft.com/kb/323308/en-us + if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on')) { + drupal_set_header('Cache-Control: private'); + drupal_set_header('Pragma: private'); + } foreach ($headers as $header) { // To prevent HTTP header injection, we delete new lines that are