IEでhttpsのページでファイルダウンロードができない現象

httpでは普通にファイルダウンロードのダイアログが出ていたのですが、httpsではダウンロードができない。

実際には、開発環境では動いていたのが本番環境では動かなくなったという悲しい現象。
出たダイアログはこんな感じ。

で、調べているとどうやらIEの仕様みたい。

Internet Explorer を使用して下記条件を満たすファイルを開いた場合、ファイル名が見つからない内容のエラーが発生し、ファイルを開くことができない場合があります。

* ダウンロード対象となるファイルに Content-Disposition:attachment ヘッダーを付加している
* Cache-Control:no-cache ヘッダーなどを使用して、ファイルのキャッシュを行わない設定をしている

弊社では、 TXT ファイル、DOC ファイル、CSV ファイル、XLS ファイル、PPT ファイル、PDF ファイル等のファイルでこの現象の発生を確認しております。
上記条件を満たすファイルへのリンクをクリックした場合、[ファイルのダウンロード] ダイアログが表示されます。
この時、[開く] および [保存] を選択しサンプル ファイルを開こうとすると、ファイルが見つからない内容のエラーが発生します。
尚、この際に表示されるエラーメッセージは関連付けられたアプリケーションによってことなります。

実際、プログラム(Java)で以下のような記述をしていたのが原因だった。

response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");

SSLでキャッシュを無効にしたい場合は要注意。