Internet Explorer 11 で PDF 表示しようとしたらダウンロードの途中で止まった。
カチーンとかたまって何の操作も受け付けない。
まだIE11で消耗してるの?なんて言わないで。
Internet Explorer 11 では、ActiveX ベースの Acrobat/Acrobat Reader プラグインが使用されます。これと、分割ダウンロードの仕様がうまくかみ合ってないようです。
ユーザ側の対処法
ダウンロード中にかたまってしまって困っちゃう…場合は、Acrobat/Acrobat Reader の設定を変更すると良いです。
具体的には、環境設定 → インターネット → バックグラウンドでのダウンロードを許可 を オフ にします。これで分割ダウンロードをしません。PDFの全ダウンロードが終わってから表示を開始します。
サーバ側の対処法
コンテンツ提供側にいてユーザから苦情がきてるんですよ、という場合は、webサーバの設定を変更すると良いです。
Apache の場合は例えばこんな感じで、PDFに対する分割ダウンロードを拒否。
<Files *.pdf>
Header set Accept-Ranges none
</Files>
これでこの問題は緩和できます。
これは、Range: で1要求で複数に分割される要求を出したときに最初部分しか帰ってこないという動作が起きたときに Acrobat がかたまってしまうので、そもそも分割させなければ良いという考え方です。