Загрузить файл через HTTPS в IE 5.5 / IIS 5.0 - PullRequest
1 голос
/ 02 октября 2009

Мне отчаянно нужна помощь с этим. У меня есть классический веб-сайт ASP в IIS 5, где мне нужно для потоковой передачи PDF для пользователей. Я использую ADODB.Stream для генерации кусков двоичных данных и использую response.BinaryWrite для потоковой передачи их клиенту. Теперь проблема в том, что в IE есть известная функция, которая устанавливает для заголовка Response CacheControl значение «no-cache» по умолчанию для сайтов SSL (https). Следовательно, я получаю стандартную ошибку:

"Internet Explorer не может загрузить File.doc с ServerName.

Internet Explorer не смог открыть этот Интернет-сайт. Запрашиваемый сайт либо недоступен, либо не найден. Пожалуйста, попробуйте позже. "

Я установил Response.CacheControl = "private, must-revalidate, max-age = 3600" перед потоковой передачей, но все равно выдает ошибку.

Примечание. Тот же код прекрасно работает во всех других браузерах, таких как firefox и netscape. Я использую LiveHttpHeaders в firefox, чтобы убедиться, что Response.CacheControl автоматически устанавливается в firefox. К сожалению, я не могу установить Fiddler на моей машине, но я предполагаю, что проблема связана с заголовком IIS по умолчанию CacheControl = "no-cache" для https

Я снял флажок «Не сохранять зашифрованные страницы на диск» в IE.

Мне нужен способ обойти это, так как опция должна быть доступна очень скоро пользователям через Интернет с существующей технологией: (* ​​1013 *

Ответы [ 3 ]

1 голос
/ 04 октября 2009

Начните здесь: http://blogs.msdn.com/ieinternals/archive/2009/10/02/Internet-Explorer-cannot-download-over-HTTPS-when-no-cache.aspx, чтобы увидеть более полное обсуждение этого вопроса. Вполне вероятно, что вы отправляете один или несколько заголовков, которые запрещают кэширование.

Утверждение ...

есть известная функция в IE, которая устанавливает заголовок Response CacheControl по умолчанию "no-cache" для SSL (https) сайты

... неверно. Вы хотели сказать "IIS"? Какая версия? Я никогда не слышал о такой функции.

Я не знаю, почему вы не можете использовать Fiddler на данной машине?

1 голос
/ 21 ноября 2010

может быть, это может помочь: http://blogs.msdn.com/b/ieinternals/archive/2009/10/02/internet-explorer-cannot-download-over-https-when-no-cache.aspx

Я решил похожую проблему, проверив «включить срок действия содержимого» на вкладке «Заголовки http» консоли управления iis.

0 голосов
/ 02 октября 2009

Возможно, вам удастся отказаться от поддержки Internet Explorer 5.5, поскольку занимает менее 0,5% рынка. Это так низко, что они перестали отслеживать его в июне 08 '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...