Как отключить кодирование передачи по частям при использовании сжатого динамического содержимого?

Я хочу отключить кодирование передачи по частям на моем веб-сервере, чтобы избежать этой ошибки: http://support.microsoft.com/kb/871205 . К сожалению, мне нужно поддерживать IE6 на Win2k, поэтому они не могут установить патч.

Я нашел инструкции по установке для AspEnableChunkedEncoding значения FALSE, но, похоже, это не решает мою проблему. Я полагаю, это потому, что мы также используем сжатие gzip, которое, согласно этой статье (http://www.eggheadcafe.com/conversation.aspx?messageid=31045986&threadid=31045970) требует фрагментированного кодирования для сжатия динамического содержимого. Таким образом, весь динамически сжатый контент передается «по частям», поскольку он сжимается фильтром gzip, а не ASP.NET.

Я знаю, что IIS может обслуживать этот контент в разобранном виде, потому что я пытался использовать в запросе http 1.0 (который не поддерживает кодировку передачи: разбивку), и ответ поступает правильно и сжато.

Как отключить фрагментированное кодирование при использовании ScriptManager, которое требует динамического сжатия результирующих файлов «.axd»?


person Noah Jacobson    schedule 21.05.2009    source источник
comment
Вы работаете на какое-то правительство? Хреново поддерживать IE6, особенно на чем-то древнем вроде Win2k.   -  person Camilo Martin    schedule 20.11.2010


Ответы (1)


Поскольку вы не можете изменить поведение сжатия GZip в IIS или заставить ваш клиент обновиться до новой ОС, почему бы не отключить сжатие GZip при определенных условиях для определенных строк пользовательского агента.

В Apache для этого можно использовать мод rewrite (см. здесь) с некоторыми строками вроде:

RewriteEngine on

RewriteCond %{HTTP:User-Agent} MSIE\ [56]
RewriteCond %{HTTP:User-Agent} !SV1
RewriteCond %{REQUEST_URI} \.(css|js)$
RewriteHeader Accept-Encoding: .* $1

Этот поток ошибок сервера указывает, что вы можете использовать переписывание ISAPI, чтобы использовать те же директивы и получить тот же результат. Похоже, что эти директивы будут поддерживаться и в бесплатной «облегченной» версии, так что вам не придется покупать лицензии.

person lambacck    schedule 03.12.2010