Nieprawidłowy typ zawartości IIS dla skompresowanego CSS
Tworzę część witryny ASP.NET, która używa głównie motywów, ale ma kilka plików CSS w folderze motywów. Są one zawarte w web.config przez innego programistę, takiego jak ten:
<code><Content Include="App_Themes\SoftOrange\CMSStyles.css" /> <Content Include="App_Themes\SoftOrange\ContentStyles.css" /> </code>
Na naszym wewnętrznym serwerze testowym (IIS7, Server 2008 R2 Enterprise) globalne opcje menedżera IIS dla kompresji statycznej i dynamicznej są włączone dla plików większych niż 2700 bajtów. Włączona jest również kompresja statyczna i dynamiczna specyficzna dla witryny.
W pewnym momencie (prawdopodobnie gdy CMSStyles.css trafił 2700 bajtów) niektóre style zostały wypchane - tj. najwyraźniej nie ładowałem, patrząc na stronę. Odkryłem, że typ zawartości (zgodnie z firefox 7.0.1) wyświetlał tekst / css, a kiedy załadowałem adres URL dla CMSStyles.css, wyglądało to jak normalne skompresowane śmieci w edytorze tekstu:
‹�����itd. IE nie otwiera bezpośrednio pliku css, ale gdy używam narzędzi programistycznych, aby pokazać css, wydaje się pusty.
Wyłączyłem statyczną kompresję treści tylko dla tej witryny, a pliki CSS ładują się teraz poprawnie. Moje pytanie brzmi: dlaczego? Czy jest to problem typu zawartości, kodowanie treści, czy jest to problem z usługami IIS, lub problem ze sposobem używania CSS w aplikacji internetowej?
dzięki.
EDYTOWAĆ:
Są to nagłówki dla żądania GET dla CMSStyles.css: Nagłówki odpowiedzi
Accept-Ranges bytes Content-Encoding gzip Content-Length 1728 Content-Type text/css Date Fri, 13 Apr 2012 01:22:43 GMT Etag "80a762a82cecd1:0" Last-Modified Fri, 30 Mar 2012 04:22:03 GMT Persistent-Auth true Server Microsoft-IIS/7.5 Vary Accept-Encoding X-Powered-By ASP.NET
Nagłówki żądań
Accept text/css,*/*;q=0.1 Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Accept-Encoding gzip, deflate Accept-Language en-gb,en;q=0.5 Connection keep-alive Cookie -removed- Host -removed- Referer -removed- User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
wygląda na to, że kodowanie treści jest aktualne: gzip.