Скрипт, т. е. карабкается в IIS7 с статическое сжатие включено
У меня возникли проблемы с файлами javascript, которые не распаковываются в IIS7, и таблицы стилей не загружаются должным образом.
Я могу исправить эту проблему, отключив статическое сжатие в IIS, но это не может быть постоянным решением. Проблема внезапно начала происходить. Мы не изменили код.
Веб-приложение является asp.net приложение web forms в .net 4. статическое и динамическое сжатие было установлено в IIS. другое веб-приложение web forms все еще работает нормально с набором статического сжатия на прикладном уровне.
Сервер был обновлен до .net 4.5 framework.
Некоторые теги таблиц стилей настроены на runat server, когда я добавляю номер версии для принудительной перезагрузки css, когда он кэшируется и выпускается новая версия.
Эта проблема возникает только в Internet Explorer.
Я действительно застрял на этом вопросе.
Запрос
Request GET /webapp/JavaScript/jQuery/js/jquery-1.3.2.min.js HTTP/1.1
Accept text/html, application/xhtml+xml, */*
Accept-Language x-en-GB-zscot
User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
UA-CPU AMD64
Accept-Encoding gzip, deflate
Host localhost
Connection Keep-Alive
Заголовки Ответов
Key Value
Response HTTP/1.1 200 OK
Cache-Control private
Content-Type application/x-javascript
Content-Encoding gzip,gzip
Last-Modified Wed, 10 Oct 2012 15:45:44 GMT
Accept-Ranges bytes
ETag "04f24efea6cd1:0"
Vary Accept-Encoding
Server Microsoft-IIS/7.5
X-Compressed-By HttpCompress
Date Tue, 04 Dec 2012 11:07:13 GMT
Content-Length 19788
Часть ответа Тело
‹
@õ¿‹ä½kwÚȶ(úýü
¬ÕÛ-…âá¤×>g +ŒtÂÛI~a²®²M7F^€ã¤ýÛï|T•ª„p²ö8çŽ;ÆéÑ1R©Þ5k¾kVéÕÿȽÊýñé)šÏµÃ¯áéh>y溓›yI_ŠoŠ¯1Ïýrùè—Jü³GñC RñÃûøñû|rw¿Ì¹#/÷ºþG®ßÏrŸ£Åä3|x
2 ответа:
Это ошибка декомпрессии qZip. Может произойти, если
Content-Length
в заголовке не является правильным.Несколько раз, если страница устанавливает
Content-Length
в заголовке, а затем веб-сервер пытается gZip страницу, но не удается изменитьContent-Length
- потому что были все готовы отправить в браузер.Возможные решения-удалить набор
Content-Length
из вашего кода и позволить IIS установить его, посмотреть, готовы ли вы все сделать qZip эти файлы и решить-ether пусть iis сделает это за вас, ether сделает это за вас. сам.Аналогичная проблема и ответ:
ASP.NET сайт иногда зависает и / или показывает нечетный текст в верхней части страницы во время загрузки, на серверах с балансировкой нагрузкиHTTP-сжатие: некоторые внешние скрипты / CSS не распаковываются должным образом некоторое время
Я сузил этот вопрос до веб-сайта, используя Blowery HttpCompression.
Похоже, что с .net 4.5 Blowery и IIS больше не играют вместе хорошо, и статическое содержимое, кажется, сжимается дважды, один раз Blowery и один раз IIS.
Выше это предположение, но я думаю, что знаю, что удаление Blowery веб-сайт снова работает нормально.