我开发了一个 ASP.NET 站点的一部分,该站点主要使用主题,但在主题文件夹中有几个 CSS 文件。这些由另一个开发人员包含在 web.config 中,如下所示:
<Content Include="App_Themes\SoftOrange\CMSStyles.css" />
<Content Include="App_Themes\SoftOrange\ContentStyles.css" />
在我们的内部测试服务器(IIS7、Server 2008 R2 Enterprise)上,对于大于 2700 字节的文件,静态和动态压缩的全局 IIS 管理器选项已打开。还启用了特定于站点的静态和动态压缩。
在某些时候(可能是当 CMSStyles.css 达到 2700 字节时)一些样式被塞满了 - 即。显然没有通过查看页面加载。我发现内容类型(根据 firefox 7.0.1)显示的是 text/css,当我加载 CMSStyles.css 的 URL 时,它看起来像是文本编辑器中的普通压缩垃圾:
‹������等 IE 不直接打开 css 文件,但是当我使用开发者工具显示 css 时,它显示为空。
我仅为该站点关闭了静态内容压缩,现在 CSS 文件可以正确加载。我的问题是为什么?!是内容类型问题、内容编码问题,还是 IIS 问题,还是 Web 应用程序中使用 CSS 的方式问题?
谢谢。
编辑:
这些是 CMSStyles.css 的 GET 请求的标头: 响应标头
接受范围字节 内容编码 gzip 内容长度 1728 内容类型文本/css 日期 2012 年 4 月 13 日星期五 01:22:43 GMT 电子标签“80a762a82cecd1:0” 最后修改时间 2012 年 3 月 30 日星期五 04:22:03 GMT 持久验证真 服务器 Microsoft-IIS/7.5 改变接受编码 X-Powered-由 ASP.NET
请求标头
接受文本/css,*/*;q=0.1 接受字符集 ISO-8859-1,utf-8;q=0.7,*;q=0.7 接受编码 gzip,放气 接受语言 en-gb,en;q=0.5 连接保持活动 饼干-删除- 主机 - 已移除 - 推荐人-已删除- 用户代理 Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.1
所以看起来内容编码是正确的:gzip。