【问题标题】:Setting the gzip compression in asp.net在 asp.net 中设置 gzip 压缩
【发布时间】:2010-11-22 09:47:41
【问题描述】:

有没有办法在 web.config 级别设置 gzip 压缩,或者我只能在 IIS 管理控制台中执行此操作?

【问题讨论】:

标签: asp.net iis-7 gzip


【解决方案1】:

在这里试试这个:将我的网站速度提高了大约 400%。第一次尝试。

Activate GZip with web.config

<system.webServer>
  <httpCompression directory="%SystemDrive%\inetpub\
temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll"/>
    <dynamicTypes>
      <add mimeType="text/*" enabled="true"/>
      <add mimeType="message/*" enabled="true"/>
      <add mimeType="application/javascript" enabled="true"/>
      <add mimeType="*/*" enabled="false"/>
    </dynamicTypes>
    <staticTypes>
      <add mimeType="text/*" enabled="true"/>
      <add mimeType="message/*" enabled="true"/>
      <add mimeType="application/javascript" enabled="true"/>
      <add mimeType="*/*" enabled="false"/>
    </staticTypes>
  </httpCompression>
  <urlCompression doStaticCompression="true" doDynamicCompression="true"/>
</system.webServer>

【讨论】:

  • 尝试了几次,但如果这些设置是在 web.config 中设置的,则压缩不起作用。如果在 applicationhost.config 中设置了设置,则一切正常。我不喜欢在 applicationhost.config 中设置设置,但至少它可以工作。
  • 我的共享主机提供商使用 Plesk 管理我的权限,并且这个解决方案对我来说也失败了。我已经简要解释了我在stackoverflow.com/a/14509007/1624169 汇总的更长的解决方案
  • 微软同意。 iis.net/configreference/system.webserver/httpcompression 但是这似乎在你安装 gzip 压缩时已经默认设置了,所以这一步应该是不必要的,它只会缩小 js 之类的内容,而不是 ASP.Net 页面的 HTML。
  • HTML 没有 gzip 压缩,即使上面的结果证明是这个晦涩的设置的错误:stackoverflow.com/a/15626981/176877
  • 如果 Javascript 未压缩,请尝试使用 MIME 类型“application/x-javascript”。
【解决方案2】:

是的,您可以使用 web.config 启用压缩,如下文所示 - 但它可能取决于服务器上允许站点的权限。

您应该注意,动态压缩(在将 ti 发送到客户端之前需要处理的任何内容)会增加服务器的负载,因为它必须对每个请求进行压缩。

IIS7 Compression


编辑:注意这是针对 IIS7 的(正如您已标记的那样)

【讨论】:

  • 由于某种原因,此更改将 gzip js 和 css,但不是 ASP.Net 的实际 HTML 输出。您将动态内容压缩设置为启用就可以了,但在我的测试中却没有。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-19
  • 2021-07-28
  • 2011-04-05
  • 2010-10-07
  • 2015-07-14
  • 2015-05-17
  • 1970-01-01
相关资源
最近更新 更多