IE кодира скрипт в IIS7 с включена статична компресия

Имам проблеми с javascript файловете, които не се декомпресират в IIS7 и стиловите таблици не се зареждат правилно.

Мога да коригирам този проблем, като изключа статичното компресиране в IIS, но това не може да бъде постоянно решение. Проблемът изведнъж започна да се случва. Не сме променили кода.

Уеб приложението е приложение за уеб формуляри на asp.net в .net 4. Статичното и динамично компресиране бяха зададени в IIS. друго уеб приложение за уеб формуляри все още работи добре със статична компресия, зададена на ниво приложение.

сървърът беше актуализиран до .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

person skyfoot    schedule 04.12.2012    source източник


Отговори (2)


Това е неуспешно декомпресиране на qZip. Може да се случи, ако Content-Length в заглавката не е правилната.

Понякога, ако страницата зададе Content-Length в заглавката и след това уеб сървърът се опита да gZip страницата, но не успее да промени Content-Length - защото всичко е готово за изпращане до браузъра.

Възможните решения са да премахнете набора от Content-Length от вашия код и да оставите IIS да го настрои, вижте дали всички сте готови да направите qZip тези файлове и решете - нека ether нека iis да го направи вместо вас, ether да го направите сами.

Подобен проблем и отговор:
ASP.NET сайтът понякога замръзва и/или показва странен текст в горната част на страницата, докато се зарежда, на сървъри с балансирано натоварване

HTTP компресия: някои външни скриптове/CSS не се декомпресират правилно през някои времена

Грешен тип съдържание на IIS за компресиран CSS

person Aristos    schedule 08.12.2012
comment
Някаква много добра информация и потенциални клиенти ще бъдат тествани в понеделник. Пропуснах всички тези въпроси, към които поставихте връзка при търсене миналата седмица. по дяволите - person skyfoot; 08.12.2012
comment
@skyfoot Трябва да ви кажа, че също изглежда като грешно кодиране на текст. Сякаш ги изпращате utf-8, но се четат като нещо друго. - person Aristos; 08.12.2012
comment
@skyfoot Липсва ми и въпросът ти преди наградата. Ами вероятно е дължината на съдържанието. - person Aristos; 09.12.2012

Стесних този проблем до уеб сайта, използвайки Blowery HttpCompression.

Изглежда, че с .net 4.5 Blowery и IIS вече не работят заедно добре и статичното съдържание изглежда е компресирано два пъти, веднъж от Blowery и веднъж от IIS.

Горното е предположение, но мисля, че знам, че с премахването на Blowery уебсайтът отново работи добре.

person skyfoot    schedule 11.12.2012
comment
Мисля, че с моя отговор ще ви помогна да се съсредоточите върху проблемите с компресията и намирате това - правилно? - person Aristos; 12.12.2012