настройка значений по умолчанию для заголовков HTTP-запросов в Internet Explorer

В Firefox мы можем настроить значения по умолчанию для заголовков HTTP, скажем, для изменения заголовка «Accept-Encoding» в HTTP-запросе (введите «about:config» в браузере и выполните поиск для предпочтения «network.http.accept-encoding» , вы можете дважды щелкнуть это значение и настроить его)

Возможно ли это в Internet Explorer?

Недавно мы столкнулись с проблемой, что наше веб-приложение не загружается в IE6.
Дальнейшее изучение проблемы показало, что заголовок «Accept-Encoding» отсутствует во всех HTTP-запросах, отправляемых из IE6. Таким образом, сервер отвечает ошибкой 404 «Не найдено» для всех запросов файлов javascript, поскольку мы поддерживаем только сжатые версии файлов javascript из-за нехватки места.

Пожалуйста, дайте мне знать, есть ли в IE возможность указать значения для заголовка «Accept-Encoding», чтобы он отправлялся как часть каждого запроса?


person Naga Kiran    schedule 30.06.2009    source источник


Ответы (2)


@tialaramex: Это правда, что Microsoft сильно переработала код декомпрессии в IE7, но, насколько я знаю, все проблемы с декомпрессией в IE6 были исправлены в патчах.

@Naga: IE отправит заголовок Accept-Encoding, если у вас включен параметр «Использовать HTTP/1.1» в разделе «Инструменты» / «Свойства обозревателя» / «Дополнительно», и не будет, если вы этого не сделаете.

Однако ваш дизайн сломается в реальном мире, и это не имеет ничего общего с IE6. Если вы прочтете книгу Стива Содерса «Даже более быстрые веб-сайты», вы узнаете, что широкий спектр корпоративных прокси-серверов и локальных продуктов безопасности удаляет заголовок Accept-Encoding, если он обнаружен. Следовательно, вы можете ожидать, что ваш сайт сломается, если вы захотите вернуть только сжатый контент.

(Отвечая на ваш фактический вопрос, нет, нет параметра конфигурации, который позволил бы вам отправлять произвольный заголовок. Надежное добавление пользовательских заголовков в IE на самом деле довольно сложно и обычно включает в себя написание оболочки асинхронного подключаемого протокола, которая влечет за собой снижение производительности. )

person EricLaw    schedule 30.06.2009
comment
В IE 6.0 уже установлен флажок Использовать HTTP/1.1. Я также думаю о том, что какой-то продукт безопасности может удалять заголовок Accept-Encoding [корпоративный прокси-сервер, удаляющий заголовки, в моем случае исключен, поскольку между сервером и клиентом нет прокси-сервера, и оба находятся в одной сети] но не смог определить, какой продукт безопасности, установленный на рабочем столе, вызывает эту проблему, и не смог найти никаких ресурсов в сети по этому поводу. Спасибо, что указали мне на хороший ресурс Even Faster Websites в этой статье. - person Naga Kiran; 01.07.2009
comment
Привет, Эрик. Эта проблема наблюдается только в IE6.0 и не наблюдается в IE7.0 и Firefox. Если какое-то программное обеспечение безопасности удаляет заголовок Accept-Encoding, оно должно удалять эти заголовки для всех запросов от всех браузеров. Верно? Поделитесь своими мыслями по этому поводу.. - person Naga Kiran; 01.07.2009
comment
Вы убедились, что сервер получает запрос HTTP/1.1 от клиента IE6? - person EricLaw; 02.07.2009
comment
Следует отметить, что IE8 проявляет такое поведение, когда HTTP 1.1 отключен. Этот пост был абсолютным спасением жизни! - person Mister Epic; 03.07.2014

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

Похоже, что Microsoft «исправляла» эту проблему более одного раза (например, она указана как исправленная в IE6 SP1 и снова в IE6 SP2_, однако пользователи продолжали сообщать о проблеме в IE6 SP2, что говорит о том, что они понятия не имеют, что на самом деле было не так, и большинство вероятно, просто вырвал весь соответствующий код и полностью заменил его в IE7.

Поэтому, если веб-приложение должно работать в IE6 (мне вас жаль), то вы, вероятно, захотите заплатить цену за хранение несжатых версий всех файлов. В качестве альтернативы вы можете добавить в свое веб-приложение фильтр, который распаковывает gzip-файлы на лету для пользователей IE6. Это сделало бы пользователей IE6 более требовательными к процессору и замедлило бы обслуживание, но сохранило бы экономию места на диске.

person tialaramex    schedule 30.06.2009