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

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

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

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

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

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

Windows Internet Explorer

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

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

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

Пожалуйста, попробуйте позже.

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

Я получил несколько человек в своем офисе, чтобы попробовать это с IE, и у них у всех одна и та же проблема. Они все говорят, что это работает в Firefox.

Ответы [ 13 ]

24 голосов
/ 06 декабря 2011

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

19 голосов
/ 14 сентября 2011

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

15 голосов
/ 02 октября 2013

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

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

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

7 голосов
/ 08 мая 2013

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

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

header("Cache-Control: private");
header("Pragma: cache");
6 голосов
/ 02 июня 2011

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

Просто для того, чтобы вы знали, что это исправление на клиентском компьютере, поскольку именно то, как IE кодирует, вызывает проблему.

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

3 голосов
/ 22 ноября 2012

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

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

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

Это для IIS 5.

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

Приятного программирования !!

1 голос
/ 12 мая 2014

если вы используете 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();
1 голос
/ 27 апреля 2012

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

0 голосов
/ 11 февраля 2015

У нас была такая же проблема с IE8 с использованием контроллера MVC , помеченного NoCache.Это устанавливает Response.Cache.SetNoStore, что прерывает загрузку файлов в IE.

Чтобы решить - вы можете сбросить Политику кэширования Http через отражение .

0 голосов
/ 11 октября 2013

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

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