IE: невозможно загрузить * из *. Не удалось открыть этот интернет-сайт. Запрошенный сайт либо недоступен, либо не может быть найден

У меня проблема с моим сайтом и IE. У меня есть файл Document.ashx, который становится документом из моей базы данных в зависимости от параметра, переданного в строке запроса.

Файл работает, если:

  • Вы находитесь на моем сайте и нажимаете ссылку для загрузки.
  • Вы получаете доступ к чему-либо на моем сайте и вставляете URL-адрес в адресную строку и получаете доступ к нему.
  • У вас уже есть доступ к ссылке документа один раз раньше, даже если он сделал ошибку.

Не работает, если:

  • Вы не получили доступ к моему сайту с текущим открытием IE и вставьте ссылку в адресную строку. Он отображает следующую ошибку:

Windows Internet Explorer

Невозможно загрузить Document.ashx из MyHostName.

Невозможно открыть этот интернет-сайт.

Запрошенный сайт либо недоступен, либо не может быть найден.

Повторите попытку позже.

Кто-нибудь знает, что может вызвать это. Естественно, он отлично работает в Firefox.

У меня есть несколько человек в моем офисе, чтобы попробовать его с IE, и все они получают ту же проблему. Все говорят, что это работает в Firefox.

Ответы

Ответ 1

Точно так же, как rymo сказал set Cache-Control: private, Если у вашего заголовка ответа есть Pragma :no-cache, вы также должны изменить его на Pragma: token.

Ответ 2

На основе предложенной здесь статьи KB Дэвида (Загрузка файлов Internet Explorer через SSL не работает с заголовками управления кэшем), мы изменили наши исходящие заголовки от Cache-Control: no-cache до Cache-Control: private. Это, похоже, разрешило проблему IE8, не затрагивая другие браузеры. Опасайтесь использовать Cache-Control: no-store, а также.

Ответ 3

Оказывается, IE8 можно сделать, чтобы принять кэширование с полным отключением, но оно очень разборчиво относительно точного порядка заголовков. Поэтому вместо того, чтобы возвращаться к private (который позволяет определенное кеширование и может не соответствовать вашим потребностям безопасности) используйте:

Cache-Control: no-store, no-cache, must-revalidate

Если указано в этом точном порядке - сначала no-store THEN no-cache - IE8 позволит скачивать файл без ошибок. Также убедитесь, что заголовок Pragma НЕ установлен.

Ответ 4

Эта проблема возникает в IE8 и, возможно, более ранних версиях, но разрешена в IE9+. Это связано с загрузкой документов через SSL.

Чтобы решить проблему в моем приложении, мне пришлось добавить следующие два заголовка к загрузке (написанные на PHP):

header("Cache-Control: private");
header("Pragma: cache");

Ответ 5

Похоже на то, что я столкнулся с IE 8. Когда я отслеживал решение, я столкнулся с двумя решениями. Один из них должен исправить эту проблему.

Просто, чтобы вы знали, что это исправление на клиентской машине, так как IE-код вызывает эту проблему.

Исправления: http://support.microsoft.com/kb/815313 http://support.microsoft.com/kb/323308

Ответ 6

В чем вся суета? Проблема связана с немедленным истечением кеша или отсутствием кэша.

Для устранения проблемы выполните следующие действия:

Перейти к server system -> Run Inetmgr -> RightClick and properties on the folder(e.g images) -> httpHeaders -> Теперь либо снимите флажок Включить срок действия контента, либо отметьте Истекает после и дайте 1 мин.

Это для IIS 5.

Аналогичная настройка будет для IIS 6/7.

Счастливое программирование!

Ответ 7

У меня была такая же проблема, и я был разочарован попыткой всех вышеуказанных методов ее исправления. Очевидно, что я не хотел, чтобы на клиентском компьютере было сделано решение, поэтому все, что я сделал, это просто удалить параметр "Pragma" из заголовка, и он начал работать красиво. ПРОБЛЕМА РЕШЕНА.

Ответ 8

если вы используете asp.net. удалите код с кешем настроек

Прокомментировать следующее

       Response.Clear();
   Response.Buffer = true;
   Response.Charset = "";
   **//Response.Cache.SetCacheability(HttpCacheability.NoCache);**
   Response.ContentType = contentType;
   Response.AppendHeader("Content-Disposition", "attachment; filename=" + fileName);
   Response.BinaryWrite(bytes);
   Response.Flush();
   Response.End();

Ответ 9

У нас была та же самая проблема, встроенная в наше развертывание ClickOnce www.Qiqqa.com. Я подозреваю, что это связано с "обнюхиванием типа MIME", которое делает IE, когда он получает application/octet-stream - я думаю, чтобы защитить пользователя от вредоносного кода.

В любом случае, чтобы решить проблему, мы изменили тип mime наших .deploy файлов на text/plain - очевидно, не идеально, но в то же время я не знаю сценарий, где мы могли бы иметь .deploy на нашем сервере, который пользователь просматривал бы за пределами ClickOnce.

Проблема решена.

Ответ 10

dynamic создайте Iframe, установите src на страницу загрузки страницы, добавьте в тело.

function downloadInIFrame(fileId) {  var url = "download.aspx?fileId=" + fileId;  var iframe = document.createElement("iframe");  iframe.src = url;  iframe.style.display = "none";  document.body.appendChild(iframe); }

этот код хорошо работает для меня.

Ответ 11

Если вы делаете вкладку "Сохранить цель как..." или "Открыть на новой вкладке", она работает нормально. Но все же ошибка в IE8. У меня такая же реализация... как создание div (display: none) с iframe и добавление его к телу и установка src в кадр, тип содержимого которого является прикладным/двоичным.

Ответ 13

Эта проблема вызвана установкой браузера в Internet Explorer. В Internet Explorer перейдите к Tools > options > Advanced options. В разделе Безопасность найдите и снимите Не сохраняйте зашифрованные страницы на диске.